爬虫--糗百

想必大家在搜爬虫教程的时候都看到这一篇爬糗百教程
http://python.jobbole.com/81351/

这个教程很赞,但这是15年的,里面有些地方要调整,照搬的话可能会掉坑里去,比如我

先贴一个我改编后的代码
爬虫--糗百_第1张图片
说一下坑:

  1. 13行中用到了decode和encode.原因是按照教程代码的话,中文会显示乱码,编码这个问题是老大难了,一直都没有细细地去研究。总之是先解码为utf-8,然后再编码成gbk,这里有个ignore参数,一定要加。因为抓取的页面中有不能编码成gbk的内容,我们就忽略掉
  2. 14行的正则表达式匹配模式,这个要自己去学正则表达式,重新匹配。原教程匹配的内容跟他想要的差距甚大。我这里是抓取了作者,内容,好笑值,评论数这四项,并进行了格式化优雅显示

下面是将代码做成类
爬虫--糗百_第2张图片
爬虫--糗百_第3张图片
爬虫--糗百_第4张图片
然后运行代码

qiubai = QSBK()
qiubai.start()

就行了,效果图如下

爬虫--糗百_第5张图片

注意,一开始我以为是1页1个段子,看到好多第1页觉得哪里出问题了。后来才醒悟,1页有好多段子,不只一个(衰)

你可能感兴趣的:(爬虫,爬虫)