前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【萌新写爬虫】爬知乎关注信息

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

作者头像
小歪
发布2018-04-04 15:00:17
6470
发布2018-04-04 15:00:17
举报
文章被收录于专栏:Python爬虫与算法进阶

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

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

一、分析网页请求

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫与算法进阶 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、分析网页请求
  • 二、翻页构造
  • 三、数据储存
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档