scrapy-redis 爬取知乎,构建分布式爬虫
此项目的功能是爬取知乎用户信息以及人际拓扑关系,爬虫框架使用scrapy-redis,数据存储使用mysql。
代码地址:https://github.com/affectalways/zhihu_distributed_by_scrapyRedis,欢迎各位大神指出问题 ^_^.
流程图
1. 请求https://www.zhihu.com获取页面中的_xsrf数据,知乎开启了跨站请求伪造功能,所有的POST请求都必须带上此参数。
2. 提交用户名,密码已经第一步解析的_xsrf参数到https://www.zhihu.com/login/phone_num,登陆获取cookies,同时解析到z_c0
3. 访问第一个用户主页,以我的主页为例https://www.zhihu.com/people/affectalways.cn/followers
4. 获取第一个主页的关注人数,并通过json获取关注者信息(name,url,gender)
5. 将上一步获取到的url push进zhihu:start_urls
6. 若是用户的关注人信息全部获取完毕,继续获取另一个用户的关注者
注意:用户信息去重是利用redis中的set。
来源:CSDN
作者:过河卒AF
链接:https://blog.csdn.net/sum1919/article/details/79177563