内容简介:预览地址:
效果
预览地址: http://23.105.208.123/
技术栈
源码地址
https://github.com/MasakiOvO/...
python需要安装的库
requests,BeautifulSoup,redis,django
思路
两个程序。
- 一个程序负责爬取用户关注和粉丝列表, 并把用户名存入set
- 另一个程序负责根据用户名获取详细信息,存入hash
维护 两个列表 1.已爬用户 2.未爬用户
第一个程序的流程:
当未爬set不为空时:执行如下操作: 每次从未爬取列表中取出一个用户名 根据用户名,获取他的关注与粉丝并遍历,如果用户既没在已爬用户,也没在未爬用户 加入未爬用户列表。
第二个程序的流程
每次从未爬set中取出一个用户名,调用接口获取详细信息并存入redis hash中
接口获取
打开某个人的个人主页,按F12
选择XHR 然后点击图1的关注我的人,和我关注的人,在图2就可以看到header和cookie。
获取用户列表Api:
https://www.zhihu.com/api/v4/... {username}/{type}?include=data[*].answer_count,articles_count,gender,follower_count,is_followed,is_following,badge[?(type=best_answerer)].topics&offset=20&limit=20
username 是用户名,
type 是类型, 有两种可选 [followers,followees], followers是粉丝 followees是关注
改变offset的值可以获取分页
获取个人信息Api:
https://www.zhihu.com/people/...
user_token是用户名
这个api中 返回的是html页面,在html页面中有一个scirpt标签里面的内容是json格式的用户信息,这就很方便了,直接获取键值对 对应的属性就ok。
发送请求
F12查看接口,把header和cookie放进requests.get()方法中。
剩下的就很简单了,不赘述了。
总结
还有很多优化的地方。比如加入中间件,来提升爬虫的稳定性。对数据进行分类,统计城市分布。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
人件(原书第3版)
[美] Tom DeMarco、[美] Timothy Lister / 肖然、张逸、滕云 / 机械工业出版社 / 2014-8 / 69.00元
在软件管理领域,很少有著作能够与本书媲美。作为经久不衰的畅销书,本书深刻地洞察到软件开发的最大问题不在于技术,而在于人。人的因素并不容易解决,一旦解决了,你将更有可能获得成功。 本书是软件管理领域的传奇经典,被誉为“对美国软件业影响最大的一本书”。全书从管理人力资源、创建健康的办公环境、雇用并留用正确的人、高效团队形成、改造企业文化和快乐工作等多个角度阐释了如何思考和管理软件开发的最大问题—......一起来看看 《人件(原书第3版)》 这本书的介绍吧!