步步分析爬取知乎用户头像
知乎是个练习爬虫的好地方,可以找到很多资源,还能挑战一下反爬虫机制。刚开始不懂得AJAX的时候真的拿这些动态加载的网页没有办法,只好退一步,用selenium+chromedriver写一些简单的程序,这样做虽然简化了开发过程,但是总是觉得效率很低,而却方式不太优雅,只是调用浏览器去做着做那,遇到异常还不好处理。
所以我决定放弃以前用selenium写的爬取头像的程序,重新分析网页的请求,直接找到每个用户头像的url下载下来。
首先希望你用的是火狐或者是谷歌浏览器,并且会使用F12的开发者工具,我们先随意找一个关注着很多的用户,然后点开他的关注者页面
随意找一个有头像的用户,右键审查元素
先认识一下知乎存储头像的url,我们的目标就是拿到类似于这样的链接
接下来以火狐浏览器为例,把从F12工具栏里查看抓取的请求,这里仅需要查看类型为XHR的请求即可,这种类型的请求往往就是通过异步请求获取的json数据
我们根据请求名称猜测,那个有followers的json数据就是我们要的东西,点开就能看到请求头,还有响应内容
其中data字段里面的0-19就是本页面中显示的20个关注者,展开可以看到每个关注者的信息
可以很明显的知道该用户的昵称、id和头像等信息,注意截图的第一行就是他头像的链接了,复制该链接,把后面那个"_{size}"去掉(即https://pic3.zhimg.com/v2-4748657d76e0c4235f29d6b45fba6208.jpg)就可以从浏览器上之间看到他的头像大图了,然后我们把这个过程用代码实现就可以了。
API:https://www.zhihu.com/api/v4/members/wen9/followers?include=data[*].answer_count,articles_count,gender,follower_count,is_followed,is_following,badge[?(type=best_answerer)].topics&offset=20&limit=20
以上是获取关注者的url,修改最后的offset的值可以实现翻页,如翻到第二页(offset=40)
下面是构建请求的过程,直接用python发送get请求会被知乎拦截,然后尝试添加headers信息,还是不行,最后加上自己已经登录进去的cookie就可以了
followers里面就是关注者的列表了,在结合前面的分析,从中提取出头像的链接,然后get这个链接,把图片下载下来就好了,剩下的步骤就很简单,不再细说了
步步分析爬取知乎用户头像相关推荐
- python爬取知乎文章_大佬分享Python编程实现爬取知乎用户信息的例子
有一天 , 我发现我心仪已久的妹子在朋友圈里分享了知乎专栏的文章 , 就知道她也刷知乎 . 如果在知乎上关注她 , 我就能知道 , 她最近关注什么 , 心里想些什么 , 了解了解她喜欢的方面 , 还能 ...
- Scrapy爬取知乎用户信息以及人际拓扑关系
Scrapy爬取知乎用户信息以及人际拓扑关系 1.生成项目 scrapy提供一个工具来生成项目,生成的项目中预置了一些文件,用户需要在这些文件中添加自己的代码. 打开命令行,执行:scrapy sta ...
- Scrapy爬取知乎用户信息
1 爬取逻辑 先选取一个用户,爬取他的粉丝列表和关注列表.然后对每个粉丝进行分析,找出他们的粉丝列表和关注列表,以此往复,递归下去,就可以爬取大部分的用户信息了.通过一个树形的结构,蔓延到所有的用户. ...
- python爬取知乎用户信息泄露_scrapy实战--爬取知乎用户信息(上)
背景 使用Scrapy分布式爬取知乎所有用户个人信息! 项目地址 爬取知乎所有用户 大规模抓取静态网页Scrapy绝对是利器!当然也可以使用requests库来自己实现,但是要自己写过滤器等组件,既然 ...
- scrapy框架爬取知乎用户
实现爬取一个大V的知乎用户开始爬取开始,我选了轮子哥,然后通过爬取轮子哥的粉丝和他关注的用户信息,再逐一对爬取到的用户进行进一步地获取粉丝和关注的用户信息,这样一直爬下去就能爬到很多很多用户,相当于能 ...
- Python爬虫爬取知乎用户信息+寻找潜在客户
[Python应用]寻找社交网络中的目标用户 日后的更新:由于是很久以前的课程设计项目,完整的源码已经不见了,关键的网页数据获取和解析的部分代码我在文章中已经贴出来了,但写的也不够好,如果想参考爬取知 ...
- Scrapy实战:爬取知乎用户信息
思路:从一个用户(本例为"张佳玮")出发,来爬取其粉丝,进而爬取其粉丝的粉丝- 先来观察网页结构: 审查元素: 可以看到用户"关注的人"等信息在网页中用json ...
- python爬虫实战笔记---以轮子哥为起点Scrapy爬取知乎用户信息
开发环境:python3.5+Scrapy+pycharm+mongodb 思路: 1.选定起始人:选定一个关注数量或粉丝数量多的大佬 2.获取粉丝和关注列表 3.获取列表用户信息 4.获取每位用户粉 ...
- Scrapy爬取知乎用户信息(代理池,MongoDB,非分布式)
以下列出运行环境与主要模块: macOS 10.13.4 Chrome/JSON-handle Scrapy 1.5.0 Abuyun HTTP tunnel(服务器:http-dyn.abuyun. ...
最新文章
- OpenGL + VS2015 + Windows10配置
- java五大原则_Java成长第五集--面向对象设计的五大原则
- UCOS中断函数的编写
- 大剑无锋之什么是死锁?【面试推荐】
- Java:如何创建轻量级数据库微服务
- hough变换直线检测_CV学习笔记(十五):直线检测
- git遇到的问题 .Git: There is no tracking information for the current branch.
- 记一次网站无法访问解决过程,服务器80端口问题解决过程
- 恶意混时间你不敢管,却要吓唬全体员工?
- 国产CAM究竟水平如何?看完测试我震惊了
- C语言及程序设计概述
- 汉字符号(汉字特殊符号)
- 王慧文清华产品课(二)
- aptana php插件使用教程,用Aptana Studio 1.5开发PHP,很强的PHP IDE,Aptana PHP,简介,安装教程...
- linux 查看wav文件内容,Linux 播放wav文件
- 亿发软件:中大型仓库进出货管理系统解决方案,定制软件让仓储作业高效便捷
- [JOI 2014 Final]裁剪线
- 陀螺仪程序---可直接用
- php中文网第八期大纲,ppt大纲不显示文字怎么办
- python正则表达式是什么意思_理解python正则表达式