Python版本:3.6.4
相关模块:
scrapy模块;
requests模块;
fake_useragent模块;
以及一些python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
相关文件
关注微信公众号:python工程狮,回复:“表情包”
原理简介
原理其实蛮简单的,因为之前就知道知乎有个api一直可以用:
https://www.zhihu.com/node/QuestionAnswerListV2
post请求这个链接,携带的数据格式如下:
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
效果如下:
image.gif我代码跑了两个多小时,最后大概爬了几万张表情包,截图如下:
image
网友评论