Python版本:3.6.4
相关模块:
scrapy模块;
requests模块;
fake_useragent模块;
以及一些python自带的模块。
环境搭建安装Python并添加到环境变量,pip安装需要的相关模块即可。
相关文件关注公众号:python工程狮,回复:“表情包”
原理简介原理其实蛮简单的,因为之前就知道知乎有个api一直可以用:
https://www.zhihu.com/node/QuestionAnswerListV2post请求这个链接,携带的数据格式如下:
data = {就可以获得该问题下的所有回答啦,然后用正则表达式提取每个回答下的所有图片链接就OK了。
具体实现的时候用的scrapy,先新建一个scrapy项目:
scrapy startproject zhihuEmoji然后在spiders文件夹下新建一个zhihuEmoji.py文件,实现我们的爬虫主程序:
'''知乎表情包爬取'''其中ZhihuemojiItem()用来存储我们爬取的所有图片链接和对应的回答id,具体定义如下:
class ZhihuemojiItem(scrapy.Item):OK,大功告成,完整源代码详见相关文件(我爬的表情包也在相关文件里提供了QAQ)~
效果展示在cmd窗口运行如下命令即可:
scrapy crawl zhihuEmoji -o infos.json -t json效果如下:
我代码跑了两个多小时,最后大概爬了几万张表情包,截图如下: