在爬取jianshu文章的时候发现,jianshu竟然买了阿里云的盾块验证!!!很是头疼,虽然说没有其他图片匹配的那么麻烦,但是阿里云的人机验证和算法真的是顶尖的,查阅了多个资料最后没办法,才实现用webdriver模拟鼠标去通过验证

首先我们需要安装webdriver驱动和Google Chrome浏览器,驱动连接如下:

http://chromedriver.storage.googleapis.com/index.html

需要注意的是驱动版本要与浏览器版本相对应,不知道怎么找的可以看我的另一篇文章

Python爬虫scrapy+webdriver,selenium使用webdriver启动chrome出现闪退现象_WakeUpCcc的博客-CSDN博客

安装完驱动后,需要安装一个模拟鼠标的配件:pyautogui

在Terminal中输入:

 pip install pyautogui

接下来就需要搭建通道了

需要注意的是,阿里的盾快验证很厉害,不要随意调用返回页面Response中的参数,否则会直接报错!!!!!!

需要配置UA和去掉浏览器的标头等:

​
options = webdriver.ChromeOptions()
options.add_argument('--disable-gpu')
options.add_argument('no-sandbox')
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument('user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36"')​

然后启动本地Chrome:

​
driver = webdriver.Chrome(options=options)--启动浏览器
driver.wait = WebDriverWait(driver, 10, 1)
driver.maximize_window()--放大浏览器​

接下来就要获取滑块的坐标了:

sizex, sizey = pyautogui.size()--创建鼠标x,y坐标pyautogui.dragTo(sizex * 0.54, sizey * 0.26, duration=sj, button='left')--duration为滑动时长,button为鼠标状态,left指按住鼠标左键pyautogui.dragRel(260, 0, duration=sj1, button='left')--第一个参数为x轴长度,第二个参数为y轴参数

阿里的算法也是很牛的,拖动滑块的时长不能写入固定值

这里采用了随机数的方法:

sj = (random.uniform(1, 3))
sj = format(sj, '.9f')
sj = float(sj)sj1 = (random.uniform(1, 4))
sj1 = format(sj1, '.9f')
sj1 = float(sj1)

最后建议验证成功后等待2~3秒,给服务器一个响应时长

验证成功后返回页面response时长即可

总结:整体来说并不是很难,只不过方法笨了点,但是也是解决了问题不是

缺点:过于依赖网络波动,网络波动较大,则会导致页面响应时间过长,或者验证失败

这种验证方法并不是百试百灵,也会有验证失败的情况

python爬虫 scrapy+selenium+webdriver实现鼠标滑动破解阿里云盾快验证相关推荐

  1. Python 阿里云盾滑块验证

    本文仅供学习交流使用,如侵立删! 记一次阿里云盾滑块验证分析并通过 操作环境 win10 . mac Python3.9 selenium.pyautogui 分析 最近在做中国庭审公开网数据分析的时 ...

  2. python爬虫——scrapy+selenium爬取新浪微博及评论

    本文主要对爬取过程中所用到的知识做简单总结,最后有项目链接. 一.项目简介 本项目利用python的scrapy框架+selenium模拟登陆微博来爬取带有关键字的微博及微博下面的评论(1 .2级评论 ...

  3. python爬虫--Scrapy框架--Scrapy+selenium实现动态爬取

    python爬虫–Scrapy框架–Scrapy+selenium实现动态爬取 前言 本文基于数据分析竞赛爬虫阶段,对使用scrapy + selenium进行政策文本爬虫进行记录.用于个人爬虫学习记 ...

  4. Python爬虫之selenium库使用详解

    Python爬虫之selenium库使用详解 本章内容如下: 什么是Selenium selenium基本使用 声明浏览器对象 访问页面 查找元素 多个元素查找 元素交互操作 交互动作 执行JavaS ...

  5. python爬虫之selenium,谷歌无头浏览器

    python爬虫之selenium和PhantomJS 主要的内容 lenium hantomjs 无头浏览器 的懒加载 一 什么是selenium? 介绍 它是python中的一个第三方库,对外提供 ...

  6. Python爬虫之selenium高级功能

    Python爬虫之selenium高级功能 原文地址 表单操作 元素拖拽 页面切换 弹窗处理 表单操作 表单里面会有文本框.密码框.下拉框.登陆框等. 这些涉及与页面的交互,比如输入.删除.点击等. ...

  7. 从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  8. python 模拟浏览器selenium_浅谈python爬虫使用Selenium模拟浏览器行为

    前几天有位微信读者问我一个爬虫的问题,就是在爬去百度贴吧首页的热门动态下面的图片的时候,爬取的图片总是爬取不完整,比首页看到的少.原因他也大概分析了下,就是后面的图片是动态加载的.他的问题就是这部分动 ...

  9. python爬虫——使用selenium爬取微博数据(一)

    python爬虫--使用selenium爬取微博数据(二) 写在前面 之前因为在组里做和nlp相关的项目,需要自己构建数据集,采用selenium爬取了几十万条微博数据,学习了很多,想在这里分享一下如 ...

  10. [Python爬虫]使用Selenium操作浏览器订购火车票

    这个专题主要说的是Python在爬虫方面的应用,包括爬取和处理部分 [Python爬虫]使用Python爬取动态网页-腾讯动漫(Selenium) [Python爬虫]使用Python爬取静态网页-斗 ...

最新文章

  1. VUE 笔记(持续更新中...)
  2. 光伏电站或成辅助服务市场“输家”
  3. 系列教程丨用 Docker 探索开源软件 —— PostgreSQL(一)
  4. dxf转pdf linux,4个最好的PDF转DXF格式的在线转换器
  5. 【Python 2 到 3 系列】 print 是函数
  6. SAP CRM my task 6个roundtrip的原理讲解
  7. 缴纳满15年养老保险退休金每月1200块钱左右,值得缴吗?
  8. Dapr + .NET 实战(十三)跨语言开发
  9. 2020,你收获了什么?又失去了什么?
  10. 使用Magicodes.SwaggerUI快速配置SwaggerUI以及设置API分组
  11. 结构型模式——适配器模式
  12. java面试题36 已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的? ( )
  13. win10用计算机分区,新电脑win10怎样给系统硬盘分区?给新win10电脑分区硬盘的方法...
  14. java 随机获取4个数字_java入门-验证码 今天查到的一个简单随机生成4位数字的验证码-jsp...
  15. 出售 Mac 时做好哪些准备?
  16. 最全最新cpu显卡天梯图_电脑显卡天梯图2019排行榜——2019显卡CPU天梯图排行榜...
  17. 盖洛普Q12在团队中的应用
  18. spark的作业提交流程
  19. sudo su与su的区别
  20. C/C++中的 void*

热门文章

  1. vue中公告消息横向无缝循环滚动
  2. 已解决:网易邮箱smtphz.qiye.163.com在阿里云环境发不出邮件的问题
  3. 海洋cms宝塔定时linux,海洋cms设置宝塔自动采集教程
  4. 礼金记账本安卓_份子钱记账本-全民都爱用的随礼管理手账神器
  5. [论文笔记] Balboa: Bobbing and Weaving around Network Censorship
  6. Fireshot——很棒的的网页截图扩展
  7. CSV格式文件向安卓小米手机中导入通讯录
  8. 知识图谱中三元组抽取
  9. android后台流量限制,手机流量控制!安卓手机控制流量设置小技巧
  10. mac电脑怎么彻底删除卸载桌面软件图标的软件?