python爬虫破解验证码的两种方式(selenium和后台js破解)

第一种方法通过selenium破解登陆问题:
视频教学:https://www.bilibili.com/video/av66011301/
爬取网站:http://58921.com/
目标爬取:‘2019年内地票房排行榜’
python爬虫破解验证码的两种方式(selenium和后台js破解)_第1张图片
当爬取到第三页时问题就来了:
python爬虫破解验证码的两种方式(selenium和后台js破解)_第2张图片

必须通过登陆才能访问到后面的数据
1.pip install selenium
2.百度搜索 “Chormedriver” 链接"http://npm.taobao.org/mirrors/chromedriver/"(我用的是chrom)
查看你chrom的版本
python爬虫破解验证码的两种方式(selenium和后台js破解)_第3张图片
寻找和版本最近的包
python爬虫破解验证码的两种方式(selenium和后台js破解)_第4张图片
下载win32位(win64也能用)
python爬虫破解验证码的两种方式(selenium和后台js破解)_第5张图片
下载解压之后放在python下Scripts即可
python爬虫破解验证码的两种方式(selenium和后台js破解)_第6张图片
暴力破解验证码,直接截屏保存到本地
python爬虫破解验证码的两种方式(selenium和后台js破解)_第7张图片
截屏这个验证码或者整个屏幕
python爬虫破解验证码的两种方式(selenium和后台js破解)_第8张图片
将cookie存入session
python爬虫破解验证码的两种方式(selenium和后台js破解)_第9张图片
python爬虫破解验证码的两种方式(selenium和后台js破解)_第10张图片

到这里就通过selenium破解了验证码
**隐藏chrom弹窗
python爬虫破解验证码的两种方式(selenium和后台js破解)_第11张图片

第二种通过js破解验证码:
视频教学网站:https://v.qq.com/x/page/e0888nd8yyy.html?ptag=qqbrowser
python爬虫破解验证码的两种方式(selenium和后台js破解)_第12张图片

1.获取验证码url(输错账号密码会立即多出一个Js文件)
python爬虫破解验证码的两种方式(selenium和后台js破解)_第13张图片
双击js文件可以看到返回的数据
python爬虫破解验证码的两种方式(selenium和后台js破解)_第14张图片
分析url的参数含义
在这里插入图片描述
回调的参数给login
python爬虫破解验证码的两种方式(selenium和后台js破解)_第15张图片
python爬虫破解验证码的两种方式(selenium和后台js破解)_第16张图片

13位时间戳(加密过的当前时间)
python爬虫破解验证码的两种方式(selenium和后台js破解)_第17张图片
删去64就可以获取图片
python爬虫破解验证码的两种方式(selenium和后台js破解)_第18张图片
如下:

python爬虫破解验证码的两种方式(selenium和后台js破解)_第19张图片
开始获取验证码
python爬虫破解验证码的两种方式(selenium和后台js破解)_第20张图片
12306服务器很卡所以爬取时候有可能会出现图片打不开
python爬虫破解验证码的两种方式(selenium和后台js破解)_第21张图片
多刷新几次或者关闭服务器重来
爬取到验证码要验证才能说点击的验证码是否有用(注意这里的的url和前面爬取验证码的url很相似仅仅就后面一点变)
python爬虫破解验证码的两种方式(selenium和后台js破解)_第22张图片
将获取的验证码传给检验验证码的url并返回信息
python爬虫破解验证码的两种方式(selenium和后台js破解)_第23张图片
输入的参数为点击的图片的坐标信息,一张图片一个坐标(x,y)

python爬虫破解验证码的两种方式(selenium和后台js破解)_第24张图片
***注意:获取验证码的js文件和检验验证码的Js文件需要多输错两次密码或者刷新验证码才能获取。

你可能感兴趣的:(python爬虫破解验证码的两种方式(selenium和后台js破解))