爬蟲 驗證碼處理

2022-06-11 09:33:08 字數 2101 閱讀 1848

關的門戶**在進行登入的時候,如果使用者連續登入的次數超過3次或者5次的時候,就會在登入頁中動態生成驗證碼。通過驗證碼達到分流和反爬的效果。

雲打碼平台處理驗證碼的實現流程:

- 3.可以將驗證碼提交給三方平台進行識別,返回驗證碼上的資料值

- 雲打碼平台:

- 1.在官網中進行註冊(普通使用者和開發者使用者)

- 2.登入開發者使用者:

- 2.建立乙個軟體:我的軟體-》新增新的軟體

-3.使用示例**中的原始碼檔案中的**進行修改,讓其識別驗證碼中的資料值

**展示:

def getcode(codeimg):

# 雲打碼平台普通使用者的使用者名稱

username = 'bobo328410948'

# 雲打碼平台普通使用者的密碼

password = 'bobo328410948'

# 軟體id,開發者分成必要引數。登入開發者後台【我的軟體】獲得!

# 軟體金鑰,開發者分成必要引數。登入開發者後台【我的軟體】獲得!

# 驗證碼檔案

filename = codeimg

# 驗證碼型別,# 例:1004表示4位字母數字,不同型別收費不同。請準確填寫,否則影響識別率。在此查詢所有型別

codetype = 3000

# 超時時間,秒

timeout = 20

# 檢查

if (username == 'username'):

print('請設定好相關引數再測試')

else:

# 初始化

# 登陸雲打碼

uid = yundama.login();

print('uid: %s' % uid)

# 查詢餘額

balance = yundama.balance();

print('balance: %s' % balance)

# 開始識別,路徑,驗證碼型別id,超時時間(秒),識別結果

cid, result = yundama.decode(filename, codetype, timeout);

print('cid: %s, result: %s' % (cid, result))

return result

from lxml import etree

import json

import time

import re

#1.對攜帶驗證碼的頁面資料進行抓取

url = ''

headers =

page_text = requests.get(url=url,headers=headers).text

tree = etree.html(page_text)

codeimg_url = tree.xpath('//*[@id="captcha_image"]/@src')[0]

#獲取了驗證碼對應的二進位制資料值

code_img = requests.get(url=codeimg_url,headers=headers).content

#獲取capture_id

''c_id = re.findall('

',page_text,re.s)[0]

with open('./code.png','wb') as fp:

fp.write(code_img)

#獲得了驗證碼上面的資料值

codetext = getcode('./code.png')

print(codetext)

#進行登入操作

post = ''

data =

print(c_id)

login_text = requests.post(url=post,data=data,headers=headers).text

with open('./login.html','w',encoding='utf-8') as fp:

fp.write(login_text)

驗證碼處理

雲打碼平台處理驗證碼的實現流程 雲打碼平台處理驗證碼的實現流程 1.對攜帶驗證碼的頁面資料進行抓取 3.可以將驗證碼提交給三方平台進行識別,返回驗證碼上的資料值 雲打碼平台 1.在官網中進行註冊 普通使用者和開發者使用者 2.登入開發者使用者 2.建立乙個軟體 我的軟體 新增新的軟體 3.使用示例 ...

opencv 處理驗證碼

opencv 官方有python27的支援 以pyd的形式 還有非官方支援opencv python opencv contrib python 有一些非開源的演算法實現 支援python3和python2 1.2.1 可以根據cmake構建專案 1.2.2完全手動構建專案 windows vs 安...

驗證碼問題處理

驗證碼處理方式 1.識別 python當中提供了一部分驗證碼識別庫 2.萬能驗證碼 開發同學提供的 缺點 開發有工作量,到生產環境這個邏輯需要去掉 3.debug 手工輸入後,在執行 點選登入 缺點 不能持續整合 4.導資料庫中拿 驗證碼生成邏輯 後端有乙個演算法,生成驗證碼,儲存後,傳給前端,前端...