python知乎爬虫(最新)
环境:python3.x
外部依赖包:requests
github项目地址
主要的问题:模拟登陆:
知乎现在改用https请求了,数据加密,但是问题不大,重要的是网页数据改动了,而且在请求时后台会对爬虫做一些判断,因此在每次请求是都需要加上request header,尽可能接近浏览器请求的样子。
言归正传
登陆的数据依旧没变动
文章图片
a.png 通过chrome开发者工具可以了解到。
但是有时候需要用到验证码,所以,我的爬虫直接下载验证码到本地,想要尝试验证码自动识别的同学,可以移步我另一篇文章简单验证码识别,虽然那篇文章只讲数字验证码的识别,但是基本思想是一样的(不过知乎目前的验证码识别有点难度了)。
_xsrf这个数据在登陆网页上可以找到,虽然发生了变动,但是依然可以通过正则找出来。
登陆函数大概是这样的:
文章图片
Paste_Image.png 函数初次登陆,需要账号和密码,之后,程序会自动记录一个cookie文件,在当前文件夹下,下次运行程序就不需要再输入密码和账号了,读写cookie文件的程序大概是这样:
文章图片
Paste_Image.png
from python_zhihu import ZhiHuzh=ZhiHu()//下载某个问题下的高赞答案:
zh.get_answer_text('某问题的url')
//这个方法会下载某个问题下的高赞文字答案,存储在一个txt文件中//下载某个问题下所有的图片:
zh.get_answer_img('某问题的url')
// 这个方法会下载某个问题下的答案中的所有图片,并且按照回答人的昵称归类
目前更新只是保证正常的爬取知乎,后期可能会加上更多功能,敬请期待....
【python知乎爬虫(最新)】star,please......
源码:https://github.com/ladingwu/python_zhihu
推荐阅读
- python|云计算平台OPENSTACK-IAAS服务搭建-双节点【详解】
- python嵌套try...except如何使用详解
- python|Yolov4详解
- python|python实现字符串数据类型转List列表数据类型
- python|Bounding box regression RCNN系列网络中矩形框的计算
- 39个 Python Datetime 小例子,拯救因时间抓狂的你
- Python爬虫之xpath语法及案例使用
- 使用Antlr生成语法分析器(python)
- Python用RNN神经网络LSTM优化EMD经验模态分解交易策略的股票价格MACD分析
- 如何美观地打印Python对象(这个标准库可以简单实现)