python scrapy爬取知乎问题和收藏夹下所有答案的内容和图片
上文介绍了爬取知乎问题信息的整个过程,这里介绍下爬取问题下所有答案的内容和图片,大致过程相同,部分核心代码不同.
爬取一个问题的所有内容流程大致如下:
一个问题url
请求url,获取问题下的答案个数(我不需要,因为之前获取问题信息的时候保存了问题的回答个数)
通过答案的接口去获取答案(如果一次获取5个答案,总计100个答案,需要计算的出访问20次答案接口)[答案的接口地址如下图所示]
答案接口返回的内容保存到mysql
提取内容中的图片地址,保存到本地
爬取代码:
从mysql库中查到question的id, 然后直接访问 答案接口 去获取数据.
解析response
parser_anser解析接口里的内容,这里就比较方便了, 因为是json格式的
代码如下:
成果展示
爬取了4w+个答案和12G图片(个人服务器只有12G空间了~)
爬取收藏夹下的答案内容和图片:
爬取收藏夹下的回答的流程和爬取问题下回答基本流程一样,区别在于:
问题的start_urls为多个,收藏夹是一个一个爬取
问题页面上找到了内容接口,返回json.方便. 收藏夹页面没有找到接口(我没有找到),我是访问每页,然后解析的html.
构造每页的起始地址:
解析html核心代码:

领取专属 10元无门槛券
私享最新 技术干货