本篇文章主要简述知乎相关数据的抓取,抓取数据为科学研究使用
思路分析:
- 获取所有答主的分类
- 获取分类下所有用户的基本信息
- 获取用户的值乎页面的信息
- 获取用户回答问题的数据
- 获取用户个人主页信息
一成功访问知乎并获得数据
开始之前,我们必须保证我们能够访问知乎,并获取数据。如果你不做任何设置,而直接爬取的话,一般会爆一个500 Internet Server Error的错误,因为服务器已经识别出你是一个爬虫而不是一个用户请求,所以服务器拒绝服务。
因此我们要伪装一下,在settings.py文件中加入默认请求头,把爬虫伪装成一个浏览器访问,当然还需authorization,经过观察,所有访问页面的authorization都一样,所以我们就做如下添加:
DEFAULT_REQUEST_HEADERS = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36',
'authorization': 'oauth c3cef7c66a1843f8b3a9e6a1e3160e20',
}
经过伪装,我们就可以正常的访问知乎页面并拿到数据了。
二获取所有答主的分类
首先构造知乎所有分类信息的url
既