尚拙

一个分享技术、学习成长的个人博客网站

0%

Python 爬虫模拟登录的3种方法

最近爬虫的时候,有些网站需要登录才能爬,记录一下python模拟登录的几种方法。

方法一 :通过接口实现登录

1、在web浏览器上打开登录页面,开启浏览器的开发者模式,在浏览器上登录,然后在开发者模式里面分析登录之后请求的地址,找到登录接口,以及请求参数。

2、使用python的requests框架,请求登录接口,并保存返回的cookie,从而实现登录。

缺点 : 有的网站,登录需要传token,以及其他加密的参数,这种情况处理起来有点复杂

方法二 :使用已知的cookie直接访问

1、直接在网页端登录,然后打开浏览器的开发者模式,直接在登录之后的网络请求头中,找到cookie,复制出来。

2、python爬虫的时候,直接将复制出来的cookie放到请求头header中,请求的时候就不用登录了。

缺点 : cookie是有有效期的,不适合长期使用的场景。

方法三 :使用selenium库和PhantomJS无界面浏览器模拟登录

1、使用selenuim的api取出登录页面的账号、密码输入框元素

2、给账号、密码元素赋值

3、使用selenuim的api取出登录按钮元素,模拟点击事件,完成登录。

缺点 : 有的网站登录需要验证码,这个时候就需要集成图片识别框架,进行验证码识别