python爬虫登录知乎后怎样爬取数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫登录知乎后怎样爬取数据相关的知识,希望对你有一定的参考价值。

模拟登录
很多网站,比如知乎、微博、豆瓣,都需要登录之后,才能浏览某些内容。所以想要爬取这类网站,必须先模拟登录。比较简单的方式是利用这个网站的 cookie。cookie 相当于是一个密码箱,里面储存了用户在该网站的基本信息。在一次登录之后,网站会记住你的信息,把它放到cookie里,方便下次自动登录。所以,要爬取这类网站的策略是:先进行一次手动登录,获取cookie,然后再次登录时,调用上一次登录得到的cookie,实现自动登录。
动态爬取
在爬取知乎某个问题的时候,需要将滑动鼠标滚轮到底部,以显示新的回答。静态的爬取方法无法做到这一点,可以引入selenium库来解决这一问题。selenium库模拟人浏览网站、进行操作,简单易懂。
参考技术A 看你爬什么咯?如果是网页,那就是页面代码;如果是制定内容,那爬取的时候就给定匹配的关键字,返回你指定的数据(字串,list,json都可以)本回答被提问者采纳

Python爬虫实战,Scrapy实战,知乎粉丝小爬虫

image.png

前言

写个知乎粉丝小爬虫,分为数据爬取和数据的简单可视化两个部分。让我们愉快地开始吧~

开发工具

Python版本:3.6.4
相关模块:

scrapy模块;

pyecharts==1.5.1模块;

wordcloud模块;

jieba模块;

以及一些python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

数据爬取

先随手推一波自己开源的利用requests进行模拟登录的库:

https://github.com/CharlesPikachu/DecryptLogin

目前该库支持模拟登录的网站包括:

1\\. 微博

后续会不断添加和完善该库的功能以及该库相关的一些小应用。当然,今天是用不上了,因为我发现他喵的知乎的粉丝数据竟然一直是一个裸的API,即使是改版之后,也不需要验证什么登录后的cookies之类的东西直接就能抓取到了。

言归正传,简单说说这个数据怎么抓取吧,其实很简单,F12打开开发者工具,刷新一下关注者页面,就可以发现:

请求这个接口直接就能返回目标用户的粉丝数据了,接口的组成形式为:

https://www.zhihu.com/api/v4/members/{用户域名}/followers?

没有什么特别需要注意的地方,不用怀疑,就是这么简单,scrapy新建一个项目爬就完事了:

scrapy startproject zhihuFansSpider

定义一下items:

class ZhihufansspiderItem(scrapy.Item):

然后新建并写一个爬虫主程序就OK啦:

\'\'\'知乎粉丝小爬虫\'\'\'

运行以下命令开始爬取目标用户的粉丝数据:

scrapy crawl zhihuFansSpider -o followers_info.json -t json

数据可视化

老规矩,可视化一下爬到数据呗(这里就以我自己知乎账号的关注者数据为例好了T_T)。

先画个粉丝主页标题的词云压压惊?

![https://upload-images.jianshu.io/upload_images/2539976-ada286149ecb2285?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

我比较好奇中间那个“狗”字是什么鬼。。。

然后再统计一下粉丝的男女比例呗?

图片

应该算是很真实吧?[图片上传失败...(image-b139c3-1617265093411)]

让我们再来看看我的关注者里有多少VIP用户?

图片

好的,答案是0个~

再来看看follow我的人一般有多少followers呗:

图片

最后再来看看粉丝的回答数统计呗:

图片

文章到这里就结束了,感谢你的观看,关注我每天分享Python模拟登录系列,下篇文章分享爬取旅行家游记信息。

为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

干货主要有:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

All done~完整源代码+干货详见个人简介或者私信获取相关文件。。

以上是关于python爬虫登录知乎后怎样爬取数据的主要内容,如果未能解决你的问题,请参考以下文章

怎样用Python设计一个爬虫模拟登陆知乎

怎样用Python设计一个爬虫模拟登陆知乎?

如何用python写爬虫 知乎

Python爬虫豆瓣登录

Python爬虫实战,Scrapy实战,知乎粉丝小爬虫

Python爬取知乎与我所理解的爬虫与反爬虫