资讯专栏INFORMATION COLUMN

python[requests]爬取知乎个人信息数据

RaoMeng / 1963人阅读

摘要:获取用户列表是用户名,是类型,有两种可选,是粉丝是关注改变的值可以获取分页获取个人信息是用户名这个中返回的是页面,在页面中有一个标签里面的内容是格式的用户信息,这就很方便了,直接获取键值对对应的属性就。对数据进行分类,统计城市分布。

效果

预览地址:http://23.105.208.123/

技术栈

python3

requests

redis

echart

源码地址

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()方法中。

剩下的就很简单了,不赘述了。

总结

还有很多优化的地方。比如加入中间件,来提升爬虫的稳定性。对数据进行分类,统计城市分布。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37232.html

相关文章

  • 爬取知乎60万用户信息之后的简单分析

    摘要:标签使用爬取了知乎万用户数据,做了简单的可视化分析。网上的爬虫教程很多,而自己的主语言是,本着宣传,以练促学的目的,我使用爬取了知乎万用户信息,主要想看看知乎上妹子多不多啊是不是都是基佬啊,标配常青藤年薪百万是不是真的啊,等等。 标签 : webporter [TOC] 使用 Java+Elasticsearch+Kibana 爬取了知乎 60 万用户数据,做了简单的可视化分析。 ...

    233jl 评论0 收藏0
  • 23个Python爬虫开源项目代码,包含微信、淘宝、豆瓣、知乎、微博等

    摘要:今天为大家整理了个爬虫项目。地址新浪微博爬虫主要爬取新浪微博用户的个人信息微博信息粉丝和关注。代码获取新浪微博进行登录,可通过多账号登录来防止新浪的反扒。涵盖链家爬虫一文的全部代码,包括链家模拟登录代码。支持微博知乎豆瓣。 showImg(https://segmentfault.com/img/remote/1460000018452185?w=1000&h=667); 今天为大家整...

    jlanglang 评论0 收藏0
  • 爬取知乎“凡尔赛语录”话题下的所有回答,我知道点开看你的很帅气,但还是没我帅

    摘要:普通的炫耀,无非在社交网络发发跑车照片,或不经意露出名牌包包,但凡尔赛文学还不这么直接。爬取的网站在知乎搜索凡尔赛语录,第二个比较适合,就用这个。特别是后面的一串数字是问题,作为知乎问题的唯一标识。 ...

    fevin 评论0 收藏0
  • [PHP] 又是知乎,用 Beanbun 爬取知乎用户

    摘要:最近看了很多关于爬虫入门的文章,发现其中大部分都是以知乎为爬取对象,所以这次我也以知乎为目标来进行爬取的演示,用到的爬虫框架为编写的。项目地址这次写的内容为爬取知乎的用户,下面就是详细说一下写爬虫的过程了。 最近看了很多关于爬虫入门的文章,发现其中大部分都是以知乎为爬取对象,所以这次我也以知乎为目标来进行爬取的演示,用到的爬虫框架为 PHP 编写的 Beanbun。 项目地址:http...

    tomato 评论0 收藏0
  • Python爬虫学习:微信、知乎、新浪等主流网站的模拟登陆爬取方法

    摘要:微信知乎新浪等主流网站的模拟登陆爬取方法摘要微信知乎新浪等主流网站的模拟登陆爬取方法。先说说很难爬的知乎,假如我们想爬取知乎主页的内容,就必须要先登陆才能爬,不然看不到这个界面。图片描述知乎需要手机号才能注册登陆。 微信、知乎、新浪等主流网站的模拟登陆爬取方法摘要:微信、知乎、新浪等主流网站的模拟登陆爬取方法。 网络上有形形色色的网站,不同类型的网站爬虫策略不同,难易程度也不一样。从是...

    Kahn 评论0 收藏0

发表评论

0条评论

RaoMeng

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<