欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~
作者 :崔庆才
本节分享一下爬取知乎用户所有用户信息的 Scrapy 爬虫实战。
本节目标
本节要实现的内容有:
从一个大V用户开始,通过递归抓取粉丝列表和关注列表,实现知乎所有用户的详细信息的抓取。
将抓取到的结果存储到 MongoDB,并进行去重操作。
思路分析
我们都知道每个人都有关注列表和粉丝列表,尤其对于大V来说,粉丝和关注尤其更多。
如果我们从一个大V开始,首先可以获取他的个人信息,然后我们获取他的粉丝列表和关注列表,然后遍历列表中的每一个用户,进一步抓取每一个用户的信息还有他们各自的粉丝列表和关注列表,然后再进一步遍历获取到的列表中的每一个用户,进一步抓取他们的信息和关注粉丝列表,循环往复,不断递归,这样就可以做到一爬百,百爬万,万爬百万,通过社交关系自然形成了一个爬取网,这样就可以爬到所有的用户信息了。当然零粉丝零关注的用户就忽略他们吧~
爬取的信息怎样来获得呢?不用担心,通过分析知乎的请求就可以得到相关接口,通过请求接口就可以拿到用户详细信息和粉丝、关注列表了。
接下来我们开始实战爬取。
环境需求
Python3
本项目使用的 Python 版本是 Python3,项目开始之前请确保你已经安装了Python3。
Scrapy
Scrapy 是一个强大的爬虫框架,安装方式如下:
pip3 install scrapy