在爬虫的学习中,爬取豆瓣数据是一个很基本的例子,其中模拟登录豆瓣也很常见
当前网上的资源都是针对豆瓣以前的版本实现,对豆瓣6.0不支持,新版豆瓣登录多了一个iframe,当然可以用模拟浏览器selenium继续登录
如果要用request登录的话,会遇到一些问题,这里记录一下
具体代码可以查看github
1 直接用requests登录
以前的会有验证码,可以人工输入通过,以前也可以用若快来自动解析,不过这个被封了,我还没找到替他替代品
2 模拟登录
这种方式很直观,可以看到你登录的过程,缺点是慢,不稳定等,也可以用无头浏览器等,以后不推荐了
3,真正登录
这里我们使用cookie登录,先通过实例化一个Session,通过session来post用户名,密码等,然后我们可以打印一下cookie
我们发现,刚开始直接get,没有cookie信息,post之后就可以看到cookie信息,是一个bid dbc12的信息,然后我们通过这个cookie去重新get请求页面,就会获取页面信息了,一般cookie在一段时间是不变的,过后就变化了,所以这种方式也不适合大规模异步爬虫,下一期我们介绍scripy爬虫框架来实现。
备注:
刚开始我是登录账号后,在页面找cookie,通过chrome f12,然后console直接输出,但是这种不能用,网上别人就是这样实现的,还不知道为啥,后来换了这种输出cookie才可以,还需要再研究
网友评论