python 知乎爬虫

1085 查看

依然是使用requests
主要的问题是模拟登陆:


a.png

通过chrome开发者工具可以了解到,登陆的数据有这么一些,
但是根据我的观察,有时候需要用到验证码,所以,我的爬虫一律包含验证码,想要尝试验证码自动识别的同学,可以移步我另一篇文章简单验证码识别,虽然那篇文章只讲数字验证码的识别,但是基本思想是一样的。
言归正传,__xsrf这个数据在登陆网页上可以找到,所以可以通过正则找出来。

登陆函数大概是这样的:


Paste_Image.png

函数初次登陆,需要账号和密码,之后,程序会自动记录一个cookie文件,在当前文件夹下,下次运行程序就不需要再输入密码和账号了,读写cookie文件的程序大概是这样:


Paste_Image.png

下载源码后,基本操作是:
先需要实例化:
from python_zhihu import ZhiHu
zh=ZhiHu()
下载某个问题下的高赞答案:
zh.get_text('填入网址')
下载某个问题下所有的图片:
zh,get_img('url')

源码:https://github.com/ladingwu/python_zhihu