电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

瀏覽:5日期:2022-08-06 14:58:56
目錄前言開發工具環境搭建實戰記錄一.驗證碼簡介二.破解滑塊驗證碼2.1計算滑塊到缺口的距離2.2將滑塊拖到缺口位置前言

記錄一次利用Python+Selenium破解滑塊驗證碼的實戰過程。讓我們愉快地開始吧~

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

開發工具

Python版本: 3.6.4

相關模塊:

pillow模塊;

selenium模塊;

numpy模塊;

以及一些Python自帶的模塊。

其他:

chromedriver

環境搭建

安裝Python并添加到環境變量,pip安裝需要的相關模塊即可。

實戰記錄

本文將記錄一次春秋航空的會員注冊頁面所使用的滑塊驗證碼破譯過程,地址為:

https://account.ch.com/NonRegistrations-Regist

一. 驗證碼簡介

驗證碼,即CAPTCHA,全自動區分計算機和人類的公開圖靈測試,換而言之,驗證碼是一種用于區分人類與計算機的測試,只有通過了CAPTCHA,當前用戶才被認為是人類。

二.破解滑塊驗證碼

滑塊驗證碼,即用戶使用鼠標將滑塊從某個位置拖動到另一個位置,服務器通過用戶拖動滑塊的軌跡來判斷當前用戶是否為人類。本文將嘗試破解的是一種拼圖式的滑塊驗證碼:

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

首先,我手動完成了一次滑塊驗證碼的驗證,想看看需要向服務器端發送什么請求才算是通過了驗證,隨便點開了一個,發現請求需要的參數是這樣的:

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

搞清楚每個參數當然是可以的,簡單想了一下,感覺應該是這樣的:

首先,利用圖像處理技術計算滑塊到缺口的距離。然后,利用機器以與人類行為相似的方式將滑塊拖到缺口位置,完成驗證。

2.1 計算滑塊到缺口的距離

首先,我們利用Selenium進入滑塊驗證碼界面:

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

也就是這個界面:

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

那么滑塊到缺口的距離該如何計算呢?

之前看到很多人是這么算的:

出現滑塊驗證碼界面時對屏幕進行截圖(此時背景圖是完整的),然后模擬點擊滑動圓球,使滑塊和缺口出現(此時背景圖是有缺口的),此時再次截圖,通過對比兩次截圖即可輕松地找到缺口位置。

但是,此方案的前提是在點擊滑動圓球之后才出現滑塊和缺口,點擊之前是完整的背景圖。這個方案在不久前還是可行的,但是魔高一尺道高一丈,數天前滑塊驗證碼版本升級了!!!滑塊驗證碼直接顯示滑塊和缺口了!!!也就是不給你看原圖了。

既然準備用機器學習,算法先不考慮,總得先有訓練數據吧,于是我手動刷新了幾次,想研究一下驗證碼圖片該如何獲取,實在不行就手動保存個幾百張。可一刷新,發現了一件了不起的事情,這網站滑塊驗證碼的背景圖只有四張!

根本不需要爬驗證碼,手工標注,然后訓練了。或許有人會問,為什么呢?

因為就四張背景圖啊!!!你完全可以這樣:對當前的滑塊驗證碼界面進行截圖,與對應的完整背景圖進行對比,找到缺口位置,即可計算出滑塊到缺口的距離了(滑塊初始位置的橫坐標是固定的)。

上述方案有如下兩個問題:

(1)如何獲取完整的背景圖?

答案:當你完成滑塊驗證碼的驗證時,還是會出現對應的完整背景圖的,通過截屏軟件截下圖就好了。

結果如下:

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

(2)怎么找到當前滑塊驗證碼對應的完整背景圖?

答案:因為只有四張圖,沒必要用一些高大上的圖像匹配算法,看了下四張圖左上角頂點處的像素值,其中R值分別為:255,217,227,100,顯然,通過對比背景圖左上角頂點處的像素值即可找到當前滑塊驗證碼對應的完整背景圖了,代碼實現如下:

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

注意,因為截圖是這樣子的:

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

所以驗證碼背景圖左上角頂點處的坐標會隨著電腦和截屏方式的改變而改變(具體而言,Selenium和我電腦上的截屏軟件截出來的圖,驗證碼背景圖的位置坐標是不一樣的,需要通過畫圖軟件確定具體位置)。

所以如果你無法用我的代碼完成滑塊驗證碼破解的話,請自行修改(787, 282)和(787, 293)為適合你自己電腦實際情況的坐標值。

接下來,我們就可以計算滑塊到缺口的距離了!

先截取當前滑塊驗證碼界面,代碼實現如下:

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

這里我們把滑塊先移動到最右端再截圖,否則滑塊將影響當前驗證碼界面與對應的完整背景圖之間的像素對比(即第一次找到的像素差異較大點在滑塊上而不是在期望的缺口上)。

然后通過與對應的完整背景圖進行像素值對比,找到缺口位置,即可計算出滑塊到缺口的距離了(因為滑塊初始位置的橫坐標是固定的):

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

2.2 將滑塊拖到缺口位置

接下來,我們需要利用機器以與人類行為相似的方式將滑塊拖到缺口位置,完成驗證。

一般而言,人手工拖動滑塊的軌跡是這樣的:

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

即:先快速向右拖動,快到缺口時,再減速慢調。那么這樣的軌跡該如何生成呢?

我想了兩種方案:

方案一是根據物理學中的加速度減速度來模擬拖動滑塊的軌跡,代碼實現如下:

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

方案二是直接構造一些函數來模擬拖動滑塊的軌跡,函數代碼實現如下:

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

最后,使用Selenium按照設定的軌跡將滑塊移動到缺口處即可:

利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程

文章到這里就結束了,感謝你的觀看,Python24個小游戲系列,下篇文章分享Python+Selenium破譯B站滑塊驗證碼

到此這篇關于利用Python+Selenium破解春秋航空網滑塊驗證碼的實戰過程的文章就介紹到這了,更多相關Python Selenium滑塊驗證碼內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | 泰国专线_泰国物流专线_广州到泰国物流公司-泰廊曼国际 | 巨野月嫂-家政公司-巨野县红墙安康母婴护理中心 | 恒温油槽-恒温水槽-低温恒温槽厂家-宁波科麦仪器有限公司 | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | CE认证_产品欧盟ROHS-REACH检测机构-商通检测 | 聚丙烯酰胺_厂家_价格-河南唐达净水材料有限公司 | 对夹式止回阀厂家,温州对夹式止回阀制造商--永嘉县润丰阀门有限公司 | 陶氏道康宁消泡剂_瓦克消泡剂_蓝星_海明斯德谦_广百进口消泡剂 | 水压力传感器_数字压力传感器|佛山一众传感仪器有限公司|首页 | 地图标注-手机导航电子地图如何标注-房地产商场地图标记【DiTuBiaoZhu.net】 | 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 氨水-液氨-工业氨水-氨水生产厂家-辽宁顺程化工 | 礼至家居-全屋定制家具_一站式全屋整装_免费量房设计报价 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 学习安徽网| 液氮罐_液氮容器_自增压液氮罐_杜瓦瓶_班德液氮罐厂家 | 烟台条码打印机_烟台条码扫描器_烟台碳带_烟台数据采集终端_烟台斑马打印机-金鹏电子-金鹏电子 | 重庆中专|职高|技校招生-重庆中专招生网 | 影合社-影视人的内容合作平台 | 脱硝喷枪-氨水喷枪-尿素喷枪-河北思凯淋环保科技有限公司 | 沥青灌缝机_路面灌缝机_道路灌缝机_沥青灌缝机厂家_济宁萨奥机械有限公司 | ph计,实验室ph计,台式ph计,实验室酸度计,台式酸度计 | 培训一点通 - 合肥驾校 - 合肥新亚驾校 - 合肥八一驾校 | 隔爆型防爆端子分线箱_防爆空气开关箱|依客思 | 东莞画册设计_logo/vi设计_品牌包装设计 - 华略品牌设计公司 | 污泥烘干机-低温干化机-工业污泥烘干设备厂家-焦作市真节能环保设备科技有限公司 | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | 金联宇电缆总代理-金联宇集团-广东金联宇电缆实业有限公司 | 储能预警-储能消防系统-电池舱自动灭火装置-四川千页科技股份有限公司官网 | 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | 国际线缆连接网 - 连接器_线缆线束加工行业门户网站 | 中山市派格家具有限公司【官网】 | 陕西高职单招-陕西高职分类考试网| 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 联系我们老街华纳娱乐公司官网19989979996(客服) | 洛阳永磁工业大吊扇研发生产-工厂通风降温解决方案提供商-中实洛阳环境科技有限公司 |