淘寶自動登錄

陸陸續續一直有做過淘寶方面的爬蟲,登錄頁的滑塊是個大麻煩.

網上簡單找了下大概有三種法子:

1.淘寶綁定微博,直接使用微博賬號登錄

2.直接掃碼登錄

3.輸入賬號密碼+滑塊驗證

這裏我就總結下滑塊吧

18年4月份年做過一次,那時候是用的破解版的jxbrowser+java robot模擬各種鼠標點擊,賬號密碼都是後臺隨機截斷成n份,分n次,每次隨機m毫秒,設置進剪切板再模擬ctrl v粘貼到賬號密碼input,這相當於模擬手工操作了;效果出奇的好,居然驗證碼都不出來,可以直接登錄;

上圖是個催單外掛,那時候我老婆是個天貓客服,手裏四個天貓店鋪要接待.靠業績提成,一筆訂單在哪個客服手裏成交的,那這筆訂單金額就算誰的業績.結算工資就按業績來提成,不同業績額的提成檔次也不通.就是說業績越高提成的百分比也會越高.但是有好多顧客是自己靜默下單,也就是說她不諮詢客服直接自己看中哪款商品就自己下單支付了,這樣的訂單金額系統是不會歸到任何客服業績裏面的,就相當於是個無效業績.我做的這個插件類似千牛的催單功能,但是我老婆的公司把千牛的催單功能關了;所以我寫了這個外掛,我老婆在家上晚班的時候就開啓給她用.

具體就是登錄四個天貓店鋪後臺賬號,四個線程不斷輪詢後臺提交訂單未付款的單據,我的輪詢時間很短3秒左右,天貓好像也沒有對我的賬號做出密集異常訪問的監控;一旦有客戶提交了訂單但是還沒有付款,被我的外掛輪詢到了,我做了個類似qq右下角彈框提示的功能並給每個店鋪配上了音頻,有新訂單就會彈框+播放音頻,這時我老婆就可以快速定位到該訂單的客戶,發送一條地址覈對的消息,如果用戶付款,那麼這筆業績就成功歸到了我老婆的業績裏面

講了這麼個小插曲,哈哈

這幾天朋友公司需要做一個天貓自動發貨的插件,本來想不用自動化的東西,想直接拿cookie在後臺嘗試提交數據的,嘗試許久無果,淘寶在提交數據上還是做了比較嚴格的驗證

嘗試無果後再嘗試以前的方法使用jxbrowser,也不行了出了滑塊驗證,在jxbrowser裏面就算人工手動輸入賬號密碼滑動滑塊也不行,直接異常,這樣應該就是jxbrowser被識別了吧;

再換方法,用selenium + chromedriver,一開始也不行跟jxbrowser一樣,識別異常;

不甘心找資料,有個解決方案是說開啓chromedrive的開發者模式,我用的java

options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));

加上這個之後,我手動輸入賬號密碼滑動滑塊可以登錄成功

然後我嘗試換成自動化輸入賬號密碼,action模擬人工拖動(自己寫了個簡單的方法)滑塊,最後也還是不行,人工拖動滑塊可以驗證通過,使用機器模擬死活都不通過.

繼續找資料,找到寫國外資料

https://intellipaat.com/community/5490/can-a-website-detect-when-you-are-using-selenium-with-chromedriver

大概意思操作就是咱現在使用的chromedriver,裏面有個變量$cdc_asdjflasutopfhvcZLmcfl_會被檢測到,從而判斷你使用了selenium,我們可以使用16進制的編輯器來編輯chromedriver,將裏面的$cdc替換成其他的同長度的字符來代替,例如$abc $efg...

我這裏沒有自己去改,我直接使用的一個別人改好的來用的.把我下載官方的chromedriver替換掉,重啓程序,神乎其技,跑通了...

OK,就分享到這裏,接下來我要研究下嘗試selenium多線程來提一下效率

歡迎同樣對這些玩意感興趣的朋友來討論!!!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章