学习
实践
活动
工具
TVP
写文章

python scrapy爬取知乎问题和收藏夹下所有答案的内容和图片

python scrapy爬取知乎问题和收藏夹下所有答案的内容和图片

上文介绍了爬取知乎问题信息的整个过程,这里介绍下爬取问题下所有答案的内容和图片,大致过程相同,部分核心代码不同.

爬取一个问题的所有内容流程大致如下:

一个问题url

请求url,获取问题下的答案个数(我不需要,因为之前获取问题信息的时候保存了问题的回答个数)

通过答案的接口去获取答案(如果一次获取5个答案,总计100个答案,需要计算的出访问20次答案接口)[答案的接口地址如下图所示]

答案接口返回的内容保存到mysql

提取内容中的图片地址,保存到本地

爬取代码:

从mysql库中查到question的id, 然后直接访问 答案接口 去获取数据.

解析response

parser_anser解析接口里的内容,这里就比较方便了, 因为是json格式的

代码如下:

成果展示

爬取了4w+个答案和12G图片(个人服务器只有12G空间了~)

爬取收藏夹下的答案内容和图片:

爬取收藏夹下的回答的流程和爬取问题下回答基本流程一样,区别在于:

问题的start_urls为多个,收藏夹是一个一个爬取

问题页面上找到了内容接口,返回json.方便. 收藏夹页面没有找到接口(我没有找到),我是访问每页,然后解析的html.

构造每页的起始地址:

解析html核心代码:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180913A0KMVT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券