爬蟲(chóng)的過(guò)程中會(huì)遇到很多反爬的網(wǎng)站,今天就來(lái)講講字節(jié)系下抖店的滑塊驗(yàn)證碼的破解流程,谷歌驅(qū)動(dòng)chromedriver路徑此處忽略,自己可以去配置,希望對(duì)有疑問(wèn)的同學(xué)有幫助,僅作參考。
一、使用Python+selenium實(shí)現(xiàn)此功能
1.既然用到selenium,第一步就要先配置初始化selenium
代碼模塊如下:?
這樣我們就可以實(shí)現(xiàn)使用谷歌瀏覽器自動(dòng)登錄
2.登錄
登錄網(wǎng)址我們要知道網(wǎng)站鏈接,讓后輸入你的賬號(hào)和密碼
這里點(diǎn)擊登錄后需要通過(guò)頁(yè)面元素來(lái)判斷是否存在滑塊驗(yàn)證碼
?
3.處理滑塊驗(yàn)證碼?
出現(xiàn)滑塊驗(yàn)證碼,我們就要進(jìn)行下一步處理。首先我們需要下載頁(yè)面上的大圖與小圖,如圖兩個(gè)紅框部分,然后對(duì)圖片進(jìn)行灰度化及二值化處理,最火計(jì)算滑塊需要移動(dòng)的距離
?下載圖片模塊
圖片灰度化與二值化處理
?4.模擬鼠標(biāo)移動(dòng)滑塊
得到滑塊需要移動(dòng)的距離后就需要移動(dòng)鼠標(biāo)
?這里還需要移動(dòng)軌跡方程,因?yàn)樾枰畲蠡哪M人為移動(dòng)滑塊,所以這里進(jìn)行了正反向移動(dòng),就是模擬滑塊滑過(guò)的情況。
?5.驗(yàn)證滑塊是否通過(guò)
最后一步就是驗(yàn)證滑塊驗(yàn)證碼是否通過(guò),主要是通過(guò)登錄后的頁(yè)面鏈接來(lái)進(jìn)行判斷,同時(shí)還要處理驗(yàn)證失敗的情況,我這里用到while循環(huán),出現(xiàn)失敗就要重新獲取滑塊信息,獲取移動(dòng)的距離,移動(dòng)鼠標(biāo)滑動(dòng),直到滑塊驗(yàn)證碼通過(guò)。我這里沒(méi)有限制次數(shù),這里也可以限制一下失敗次數(shù)。
6.拿到cookie,獲取數(shù)據(jù)
?登錄成功后直接獲取cookie,將cookie傳入到請(qǐng)求數(shù)據(jù)的headers里,就可直接拿到你想要的的數(shù)據(jù)了。
二。總結(jié)
其實(shí)滑塊驗(yàn)證碼都是大同小異,通過(guò)抖店的滑塊驗(yàn)證碼案例,我又破解了京東平臺(tái)登錄的滑塊驗(yàn)證碼。主要的難點(diǎn)在于圖片需要移動(dòng)的距離,以及軌跡方程,需要多去試試找到合適的就OK了。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-401129.html
第一次發(fā)文,希望各位大佬多多支持,有疑問(wèn)可留言,也可加本人微信:wx1031867153文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-401129.html
到了這里,關(guān)于最新Python 實(shí)現(xiàn)自動(dòng)登錄抖音(京東),實(shí)現(xiàn)滑塊自動(dòng)滑過(guò)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!