採集極驗4滾軸驗證碼圖片資料

2023-07-16 18:00:15

在網路安全領域,驗證碼是一種常見的用於驗證使用者身份或防止惡意機器人攻擊的技術。而極驗4滾軸驗證碼作為一種廣泛應用的驗證碼形式,其具有較高的安全性和防禦能力。本文將以獲取極驗4滾軸驗證碼圖片資料為主題,介紹相關技術和方法。

一、極驗4滾軸驗證碼簡介

極驗4滾軸驗證碼是一種基於使用者滑動操作來驗證的驗證碼形式。使用者需要通過滑動滾軸至指定位置,以證明自己是真實使用者而非機器人。這種驗證碼形式採用了機器學習和行為分析等先進技術,難以被自動化工具或指令碼破解,因而廣受網站開發者的青睞。

二、採集極驗4滾軸驗證碼圖片的必要性

在研究極驗4滾軸驗證碼自動化通過的過程中,我們需要獲取大量的驗證碼圖片資料,以便進行訓練和分析。這些資料對於演演算法的優化和改進非常重要。因此,我們需要利用爬蟲技術來採集這些極驗4滾軸驗證碼圖片。

三、使用爬蟲技術採集極驗4滾軸驗證碼圖片

1、確定目標網站:選擇一個包含極驗4滾軸驗證碼的目標網站作為爬取物件。

2、分析網頁結構:通過檢視目標網頁的原始碼和開發者工具,瞭解滾軸驗證碼的位置、樣式和相關引數。

這裡用火狐瀏覽器為例,瀏覽器按下F12,選擇【網路】索引標籤,清空裡面的請求。然後點選重新整理驗證碼按鈕,就可以獲得新的圖片,這樣就可以得到獲取圖片的連結。

3、分析請求引數

通過瀏覽器抓包,得到的資訊如下,其中bg引數包含的就是大圖的連結,通過連結就可以直接下載圖片了。

4、編寫爬蟲程式碼:使用Python編寫爬蟲程式碼,模擬瀏覽器行為,存取目標網站並獲取驗證碼圖片的URL。

這個連結具有一定的時效性,可能十分鐘後就會失效吧,所以失效後可以再通過瀏覽器抓包方式獲取最新的連結繼續採集。下面的程式碼連結就已經失效了,請替換為自己最新的連結。

import time
import json
import requests
from io import BytesIO
from PIL import Image


for i in range(100):
url = "https://gcaptcha4.geetest.com/load?callback=geetest_1689421548194&captcha_id=cdb27a1d9a634fd518f2fa445d6f1c1f&client_type=web&lot_number=ec23b49f8bcd45c38dce44d5f116ad3f&pt=1&lang=zho&payload=xSJqOy81RFro17RrPzpVayZp14MU2h0xs_RHbIGG757niUjQE6Ce0diVZJvowhabG0LPg9JW7et3ANw6hHB7IA1y7g3utf3RrKEkasazsNcVDYmbIlNPNhrST81ZJr8XaQOwaOj68ZMIsYFNiO5IoUqAP4vu-i9Vn2CK1JMq4n_JPLRl6hFK5Tl013_x-r9eB27gl7t1HShpy75zQ3xBusi0YGsKj9GF_aEWNrxtXZUrahjeaHtaOZdKo1NilEb4tPAdQXbual7aHpLHSaBIxsvu1PJrIEHNUDdxaxS1c17896OaRu5hKQHGS4170jTjhO4rPFoB4ffmugcTpV3DjWDheCt1UuVfme2f8bl96gAUno_f4Trv3ZZiAy4W3mqSik_gVvDtOMrgJrz2CWad1R3pdGOwI-XaLDrTbK4UIMmoZutjQX077m5IJLTMbSYlJwvstO9la0NcbmPK68dcojaABgIkbGvbCS97GPlubQyV_DYGSVCVGH3TmB2sETmQaDj3bkwWFtJ3YHbkL8RxI8sgid3ho4jQVgErUW0eoNgGOB1tzxnKV8RAbDvoT7YXXnVEGCzdve7ySPFrGqpdvbJ95PL3bmoptX4TgKvvPGJZBRXxXAIaYyC1KgUOFpe5YBWAMhcgkEQqQIC2Akb5cXTU6ETwvUz_m7Bufq0n2xnXTi3-pCtXJ5uxQxRVkwzwRc80sj63DnYvdDfu20V7vkJ-C766-TOlsuMOeFMIqHk%3D&process_token=5b752f9db61a493103c23ece058cc115fab03cb5f0e69d1cbd22c36ec24622bc&payload_protocol=1"
header = {
"Host": "gcaptcha4.geetest.com",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0",
"Accept": "*/*",
"Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
# "Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
"Referer": "https://monica.im/login",
"Cookie": "gt_captcha_v4_user=4c5398c023e1401695cd2cbd3e52aba2; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2218875ab69c7441-060783d3e4bfe08-4c302978-1327104-18875ab69c94db%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%2C%22%24latest_landing_page%22%3A%22https%3A%2F%2Fwww.geetest.com%2Fshow%22%7D%2C%22%24device_id%22%3A%2218875ab69c7441-060783d3e4bfe08-4c302978-1327104-18875ab69c94db%22%7D; Hm_lvt_25b04a5e7a64668b9b88e2711fb5f0c4=1685601348; _uetvid=ca611c60004611ee8d41855bd2dec21b",
}
# 請求獲取大圖連結
response = requests.get(url=url, headers=header)
# 解析響應,轉成字典
data = json.loads(response.text[22:-1])
# 獲取大圖連結
bg_url = 'https://static.geetest.com/' + data['data']['bg']
# 下載大圖
response = requests.get(url=bg_url)
# 儲存大圖
img = Image.open(BytesIO(response.content))
img.save('train_img/{}.jpg'.format(int(time.time() * 1000)))

time.sleep(2)

5、下載驗證碼圖片:利用爬蟲程式碼傳送請求,下載驗證碼圖片並儲存到本地。

 

6、資料淨化和整理:對下載的驗證碼圖片進行清洗和整理,確保資料的準確性和完整性。

四、總結

1、和極驗3相比,極驗4大圖反爬能力變弱了。因為極驗3圖片連結很快就會失效。

2、和極驗3相比,極驗4圖片的解析難度變小了。因為極驗3的圖片是打亂的,還需要拼圖。