python: 知乎大规模(34k)用户爬虫

前些天学习python,完成了python练习册的大部分习题:https://github.com/Show-Me-the-Code/python(我的github上有习题代码,欢迎自取)。之后看到@salamer的一个python爬虫项目,觉得很不错。于是自己花了4天的时间完成了一个大规模爬取知乎用户信息的爬虫,由于个人网络原因,爬取12小时,获得了34k用户的信息(理论上可以爬全站的信息,可能时间要长一些,最好放在服务器上跑)并整理成直观的图表(文章末尾显示)。


好了,说一下主要的技术点:


(1)使用python的request模块获取html页面,注意要修改自己的cookie,使得我们更像是使用浏览器访问

(2)使用xpath模块从html中提取需要的关键信息(姓名,职业,居住地,关注人等)

(3)使用redis作为队列,很好的解决并发和大规模数据的问题(可以分布式)

(4)使用bfs宽度优先搜索,使得程序得以不断扩展持续搜索用户

(5)数据存储至no-sql数据库:mongodb(高效轻量级并且支持并发)

(6)使用python的进程池模块提高抓取速度

(7)使用csv,pandas,matplotlib模块进行数据处理(需要完善)


接下来我们进行仔细的分析:


(一)数据的获取


主要使用了python的request进行html的获取,另外,header中的cookie携带了我们的登陆信息,所以,按下你的F12将自己的cookie添加至程序中。

知乎上有很多水军,我们为了更加高

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值