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

时间:2022-05-07
本文章向大家介绍【萌新写爬虫】爬知乎关注信息,主要内容包括一、分析网页请求、二、翻页构造、三、数据储存、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

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

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

一、分析网页请求

以轮子哥为例,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

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

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