【萌新写爬虫】爬知乎关注信息

这个例子是【爬虫工程师课程】中的一个实战,这里简单介绍下。

记得以前说过,爬虫有三步:获取源码、解析源码、储存数据。首先看看知乎的数据在哪里。

一、分析网页请求

以轮子哥为例,vczh,当我们禁用JS加载后,网页只有3条数据(属于lazy load),那么需要寻找数据

老规矩,打开开发者工具,找到翻页相关,数据都在这里

https://www.zhihu.com/api/v4/members/excited-vczh/followees?include=data%5B*%5D.answer_count%2Carticles_count%2Cgender%2Cfollower_count%2Cis_followed%2Cis_following%2Cbadge%5B%3F(type%3Dbest_answerer)%5D.topics&offset=40&limit=20

去除无用参数,是这样

offset 后面的数值就是翻页了。但是直接使用requests,会返回错误,我们把请求头拿出来看看

知乎的多了 authorization 和 X-UDID ,进过测试 authorization 是必要参数,所以构造就很简单了。

未登录和已登录情况下的 authorization 数值不同,进过多次错误,我发现必须使用已经登录下的 authorization 。

写这个爬虫我错误了无数次~

二、翻页构造

弄清楚请求就很简单了,翻页使用format函数

三、数据储存

我们打开这些数据,发现是json,那么就很简单,可以直接保存,不需要对网页数据进行解析。

然后可以对数据可视化

咳咳,为什么我关注了这么多男性

更有趣的是,打开轮子哥的粉丝列表,两者对比

关注了:

https://www.zhihu.com/api/v4/members/excited-vczh/followees?offset=20&limit=20

关注者:

https://www.zhihu.com/api/v4/members/excited-vczh/followers?offset=20&limit=20

有趣吧,通过这种方法,可以达到对知乎用户的爬取,前人说过很多,这里就不说了。

希望本文可以帮助你,像这种加载方式还有微博、头条。很久以前,萌新曾经提过一个问题,就是头条爬取,现在看来就很简单了。

如果想要爬虫源码,来公众号“萌新的学习日记”,回复“知乎”即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值