在爬蟲時,經常遇到登入需要驗證碼的情況,簡單的驗證碼可以自己解決,複製的驗證碼需要借助機器學習,有一定的難度。還有乙個簡單的方案就是採用付費的打碼平台。
比如r若快(還有雲打碼平台(
下面以r若快為例介紹打碼平台的思路:
r若快平台需要註冊兩個使用者,乙個是普通使用者,乙個開發者使用者,
1、首先驗證碼截圖,就是擷取**上登入頁面的驗證碼並儲存到本地
2、呼叫打碼平台的介面把驗證碼傳送到打碼平台並獲取到驗證碼結果。
具體**如下:
#!/usr/bin/env python
# coding:utf-8
import requests
from hashlib import md5
class rclient(object):
def __init__(self, username='shaoks123', password='123456', soft_id='113452', soft_key='c0d07d796c8e470c92a126df60d61794'):
self.username = username
# self.password = md5(password).hexdigest()
self.password = md5(password.encode("utf-8")).hexdigest()
self.soft_id = soft_id
self.soft_key = soft_key
self.base_params =
self.headers =
def rk_create(self, im, im_type, timeout=60):
"""im: 位元組
im_type: 題目型別
"""params =
params.update(self.base_params)
files =
r = requests.post('', data=params, files=files, headers=self.headers)
return r.json()
def rk_report_error(self, im_id):
"""im_id:報錯題目的id
"""params =
params.update(self.base_params)
r = requests.post('', data=params, headers=self.headers)
return r.json()
def test(self,imagefile,im_type=1030):
# im = open('e:\python36_crawl\veriycode\code\code_823.png', 'rb').read()
im = open(imagefile, 'rb').read()
result = self.rk_create(im, im_type)
print(result['result'])
程式設計客棧 cxlcqytyreturn result['result']
# if __name__ == '__main__':
# rc = rclient()
# im = open('e:\python36_crawl\veriycode\code\code_823.png', 'rb').read()
# result = rc.rk_create(im, 1030)
# print(result['result'])
本文標題: python 通過打碼平台實現驗證碼的實現
本文位址: /jiaoben/python/259039.html
Python 通過打碼平台實現驗證碼
在爬蟲時,經常遇到登入需要驗證碼的情況,簡單的驗證碼可以自己解決,複製的驗證碼需要借助機器學習,有一定的難度。還有乙個簡單的方案就是採用付費的打碼平台。比如r若快 還有雲打碼平台 下面以r若快為例介紹打碼平台的思路 r若快平台需要註冊兩個使用者,乙個是普通使用者,乙個開發者使用者,2 呼叫打碼平台的...
python手工打碼 Python學習 打碼平台
打碼平台介紹 優點 1.便宜 2.使用簡單 3.識別率高 平台介紹 極驗驗證碼智慧型識別輔助 超級鷹 打碼兔 若快打碼 等等 流程圖 使用者賬號用於登入,充值,平台是收費的 1元 1000分 開發者 新增我的軟體,獲取通訊秘鑰 檢視驗證碼型別 題分 使用者 充值 12306的驗證碼demoimpor...
打碼平台的使用
現在很多 都會使用驗證碼來進行反爬,所以為了能夠更好的獲取資料,需要了解如何使用打碼平台爬蟲中的驗證碼 url位址不變,驗證碼不變 這是驗證碼裡面非常簡單的一種型別,對應的只需要獲取驗證碼的位址,然後請求,通過打碼平台識別即可 url位址不變,驗證碼變化 在登入的過程中,假設我輸入的驗證碼是對的,對...