做淘客網(wǎng)站 備案煙臺seo快速排名
-
概述
python模擬登錄平臺,遇見驗證碼識別!用最簡單的方法selenium+da破解驗證碼,來自動登錄平臺
詳細
python用selenium+xpath模擬登錄+破解驗證碼
先隨便找個小說平臺
用戶登陸 - 書海小說網(wǎng)用戶登陸 - 書海小說網(wǎng)用戶登陸 - 書海小說網(wǎng)
準備工作
selenium這個模塊要用到驅(qū)動瀏覽器,我的是火狐瀏覽器,win10x64位的,所以我下載了最新版本,
https://github.com/mozilla/geckodriver/releases/download/v0.20.1/geckodriver-v0.20.1-win64.ziphttps://github.com/mozilla/geckodriver/releases/download/v0.20.1/geckodriver-v0.20.1-win64.ziphttps://github.com/mozilla/geckodriver/releases/download/v0.20.1/geckodriver-v0.20.1-win64.zip
當然這個可以根據(jù)你們的瀏覽器來,不一定非要用火狐,下載好了,把文件放到python文件里就可以
破解驗證碼,那就用打碼平臺,我現(xiàn)在用的是超級鷹!
里面有很多語言開發(fā)文檔,咱是python,當然是選python
需要的東西都準備好了,那開始吧
1、導入火狐的驅(qū)動瀏覽器引擎和超級鷹開發(fā)文檔里面的Chaojiying_Client類
from selenium.webdriver import Firefoxfrom chaojiying import Chaojiying_Client
2、鎖定url、利用selenium跳轉(zhuǎn)到這個網(wǎng)址頁面
web.get('http://www.shuhai.com/login')
3、先觀察一下這個登錄界面
4、看這個情況,先把驗證碼破解好,在來通過selenium來登錄、先處理一下驗證碼,直接拷貝驗證碼網(wǎng)頁的xpath拿到驗證碼,然后在利用超級鷹大碼平臺處理
img = web.find_element_by_xpath('//*[@id="checkcode2"]').screenshot_as_png
5、驗證碼拿到了!然后用超級鷹打碼平臺,破解
chaojiying = Chaojiying_Client('用戶名', '用戶密碼', '96001')dic = chaojiying.PostPic(img,1902)# 這個兩段代碼超級鷹開發(fā)文檔里面有,直接拷貝過來!用戶名:賬號!用戶密碼:密碼
6、破解到驗證碼,現(xiàn)在把它提取出來
verify_code = dic['pic_str']
7、驗證碼現(xiàn)在搞好了!現(xiàn)在就是把用戶名、密碼、和提取好的驗證碼放進來!和驗證碼一樣,直接拷貝用戶名、密碼、的xpath,然后直接放進去就可以了
-
# 通過xpath填入用戶名 web.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div[2]/form/div[2]/div[1]/div[2]/input').send_keys("@the蟲子")
-
# 填寫密碼 web.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div[2]/form/div[2]/div[2]/div[2]/input').send_keys("zhang123456")
-
# 填寫驗證碼 web.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div[2]/form/div[2]/div[3]/div[2]/input').send_keys(verify_code)
8、設置個時間,避免太快卡主,設置填寫用戶名、密碼、驗證碼為5秒
-
time.sleep(5)
9、用戶名、密碼、驗證碼都填寫好了,現(xiàn)在就差登入了,和上面一樣,直接拷貝登入按鈕的xpath
web.find_element_by_xpath('//*[@id="dosubmit"]').click()
10、同樣也設置個點擊登入時間為5秒
-
time.sleep(5)