999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于圖片對比的滑動驗證碼破解方法

2020-07-15 06:41:18
福建質量管理 2020年13期

(國家電網淮北分公司 安徽 淮北 235000)

一、緒論

網絡爬蟲是一種按照編寫者自己的規則自動的抓取目標網頁信息的技術,多為腳本語言。目前網絡爬蟲已經成為了一種很成熟的獲取他人信息的技術,很多商業公司都會通過網絡爬蟲對競爭對手或者社交網絡進行爬取,從而有效的獲取信息,進行商業抉擇[1]。常見的反爬蟲措施有:IP封禁、滑動驗證碼、點觸驗證碼、動態網頁加載等,其中以驗證碼為主要反爬手段[2]。

為了應對這些反爬方法,我們需要進行有效的措施從而進行高效率的網絡信息爬取。

二、滑動驗證碼簡介與思想

滑動驗證碼的核心思想:1.后端隨機生成一個帶有缺口的圖片,圖片上缺口位置隨機,后臺保存缺口的位置坐標。2.前端通過滑動滑塊實現人機交互,將滑塊滑動到缺口處,獲得用戶滑動滑塊的距離值。

三、滑動驗證碼圖片對比法介紹

接下來通過方法步驟和程序介紹兩方面介紹滑動驗證碼圖片對比法。

(一)圖片對比法步驟

圖片對比分為以下幾個步驟:(1)獲取第一次驗證碼截圖PNG1;(2)刷新驗證碼,獲取第二次驗證碼截圖PNG2;(3)將兩次滑動驗證碼的圖片進行對比,找出缺口位置;(4)測試出成功率高的滑塊加速度,計算出滑動軌跡;(5)程序控制鼠標沿著軌跡滑動,完成滑動驗證碼認證。

(二)滑動驗證碼程序介紹

滑動驗證碼程序主要由四個部分組成,截取驗證碼圖片、定位缺口位置、描繪軌跡和滑動滑塊。

1.截取驗證碼圖片

程序的第一步,是要得到驗證碼圖片在瀏覽器頁面中的相對位置,然后對其進行截取。通過分析網頁找到驗證碼圖片屬性“verify-img-panel”,定位驗證碼圖片,聲明驗證碼圖片img。使用img.size得到圖片尺寸,可以得到img的長和寬,這里分別使用height和width定義。使用img.location聲明location對象,使用location[]計算驗證碼圖片頂部到達瀏覽器頁面頂端的距離定義其為top,計算驗證碼圖片左邊的邊到達瀏覽器頁面左邊的距離定義其為left,使用top加上height就可以得到驗證碼圖片底端到瀏覽頂部的距離,使用left加上width就可以得到驗證碼圖片右邊的邊距離瀏覽器左邊的距離。通過這種方式無論每次滑動驗證碼的圖片在哪個位置彈出,都可以準確的得到驗證碼圖片在瀏覽器中的相對位置[3-4]。

在得到驗證碼圖片的相對位置坐標即 top、bottom、left、right的值之后就開始對驗證碼圖片進行截圖,使用browser.get_screenshot_as_png()定義保存的圖片為PNG格式,使用screenshot.crop()和top、bottom、left、right的值截取圖片,命名為PNG1。分析驗證碼圖片右上角的刷新按鈕得到他的屬性“icon-refresh”,使用click()函數點擊,刷新驗證碼圖片,重復以上步驟一次得到PNG2;

2.定位缺口位置

在得到兩張驗證碼圖片后接下來就要開始定位缺口位置。在這里通過對兩張圖進行從上到下,從左到右的像素對比。分析滑塊可以得到滑塊的長度為32像素,因此兩張圖片的橫坐標從32開始比對,當像素對比差超過閾值時,返回當前橫坐標X1。橫坐標的位置就是缺口左邊的邊橫坐標,橫坐標的值作為滑塊滑動的距離distance。

3.描繪軌跡

在得到需要滑塊移動的距離后,接下來需要繪制滑塊滑動的軌跡。滑塊滑動的速度快與慢,以及誤差值都會影響是否被網站判定為機器操作,因此需要分析人滑動的習慣,且滑動習慣與缺口位置有關。若缺口距離滑塊較近,會出現兩種情況,一種是開始滑塊加速,當滑塊到達缺口處時猛然停止,且缺口與滑塊之間的誤差較大,第二種是滑塊勻速滑動,到達缺口處停止,缺口與滑塊之間的誤差較小。若缺口距離滑塊適中或較遠,則滑塊加速較為平穩,到達mid處開始平穩減速,最終缺口與滑塊之間的誤差較小。

在mid處之前,滑塊滑動為加速過程,mid之后滑塊為減速過程,每隔0.2s記錄一次滑塊當前橫坐標,將其存入到列表track中,當做軌跡。

4.滑動滑塊

在得到滑塊的軌跡后,沿著軌跡滑動滑塊。分析網頁得到滑動條的屬性“verify-move-block”,編寫ActionChains()動作列表控制鼠標沿著track中的橫坐標滑動滑塊,完成滑動驗證碼的認證。

四、方法驗證

在代碼開始運行后,后臺會運行Firefox瀏覽器,并自動在地址欄內輸入目標爬取網址,本實驗對網站“http://qiye.zhaoyoung.top/login.php”爬取[5]。分析完成驗證碼在瀏覽器頁面的相對位置后,程序會將驗證碼圖片截取下來,作為PNG1。在得到PNG1后通過驗證碼使用刷新操作,再次得到一張驗證碼作為PNG2,兩張圖片如圖4.1所示,分別為PNG1與PNG2。

圖4.1 PNG1與PNG2

接下來程序會得到缺口位置,程序控制滑塊沿著軌跡滑動到缺口處,完成認證,如圖4.2所示。

五、總結

圖片對比法用于滑動驗證碼與點觸驗證碼。滑動驗證碼圖片對比認證思路為定位滑動驗證碼圖片在瀏覽器中的相對位置,保證了無論圖片在哪彈出都可以準確獲取圖片。截取滑動驗證碼圖片,刷新驗證碼得到第二張滑動驗證碼圖片,將兩張驗證碼圖片進行比對找出缺口的坐標,經實驗得到當前滑動驗證碼最佳加速度與減速點mid,繪制軌跡并將滑塊沿著軌跡滑動完成認證,認證率較高。

主站蜘蛛池模板: 国产精品免费入口视频| 久久久久无码精品| 97av视频在线观看| 福利视频一区| 伊人91在线| 国产精品yjizz视频网一二区| 无码国产伊人| 亚洲国产一成久久精品国产成人综合| 在线国产欧美| 亚洲日韩精品无码专区97| 日韩美女福利视频| 99在线视频精品| 国产日本视频91| 亚洲香蕉久久| 中文字幕66页| 久久国产精品77777| 国产精品久久久久久影院| 欧美亚洲国产一区| 亚洲视频三级| 精品人妻无码中字系列| 青青草a国产免费观看| 亚洲国产av无码综合原创国产| 成年人视频一区二区| 欧美国产综合色视频| 精品视频免费在线| 无码免费试看| 91福利一区二区三区| 无遮挡国产高潮视频免费观看| 中文无码精品A∨在线观看不卡 | 国产日韩欧美黄色片免费观看| 热思思久久免费视频| 中日韩一区二区三区中文免费视频| 国产成本人片免费a∨短片| 谁有在线观看日韩亚洲最新视频| 日本在线免费网站| 青草视频久久| 99在线视频免费| 欧美日韩在线第一页| 亚洲无线国产观看| 韩国自拍偷自拍亚洲精品| 成人福利在线视频免费观看| 国产成在线观看免费视频| 少妇露出福利视频| 极品av一区二区| 99久视频| 久久美女精品| 欧美色亚洲| 亚洲中文字幕久久无码精品A| 国产精品白浆无码流出在线看| 黄色网址手机国内免费在线观看| 18黑白丝水手服自慰喷水网站| 99热这里只有精品免费| 亚洲无码高清一区| 特级毛片免费视频| 欧洲亚洲欧美国产日本高清| 亚洲国产成人麻豆精品| 老司机久久99久久精品播放| 欧美日本在线观看| 国产精品欧美在线观看| 三级视频中文字幕| 浮力影院国产第一页| 秋霞国产在线| 久久久波多野结衣av一区二区| 成人福利在线观看| 亚洲美女视频一区| 国产成人高清亚洲一区久久| 99人妻碰碰碰久久久久禁片| 亚洲国产成人精品无码区性色| 国产JIZzJIzz视频全部免费| 成人免费午间影院在线观看| 色综合热无码热国产| 国产精女同一区二区三区久| 国产亚洲欧美在线中文bt天堂| 久久五月天综合| 91色国产在线| 国产一区二区在线视频观看| 午夜成人在线视频| 国产三级国产精品国产普男人 | 国产精品无码AV中文| 日韩一区二区三免费高清| 国产SUV精品一区二区6| 欧美另类第一页|