我正在嘗試通過請求包抓取此 URL https://pricempire.com/search的名稱和價格。當我加載站點時,有一個名為 items 的 POST 請求,并且在請求有效負載中有一個名為 captchaToken 的屬性,基本上我想捕獲此屬性并使用它來為其他頁面創建請求。我一直在使用 Selenium 來抓取名稱和價格,但加載每個頁面需要 20 秒非常慢。所以我的目標是在請求有效負載中捕獲驗證碼,如下所示:
json_data = {
'page': 1,
'priceMin': 0,
'orderBy': 'price_desc',
'captchaToken': 'aaabbbcccxxxzzzyyy',
'priceMax': 200000,
'collections': [],
'weaponIds': [],
'wears': [],
'priceProvider': 'buff163',
}
加快網站的抓取速度。但我不知道它是否可能,從我的研究中我不知道這個問題的答案。
uj5u.com熱心網友回復:
在發布請求中,您必須添加服務器payload作為 json 回應發送的資料,并且 captcha Token也是有效負載資料的一部分。這是一個如何從 api 呼叫 json 回應作為 post 方法提取資料(名稱、價格)的示例。
import requests
import json
URL = "https://public-api.pricempire.com/api/search/items"
body= {"page":1,"priceMin":0,"orderBy":"price_desc","captchaToken":"03AGdBq271Msp7k_yCTzgNsheZ1yRqLWykDZL17tIK9_YAVo2uZGc3cLH0sNhuZOFsnymBSAbuzRRo2w_Cy6kEEMxaRxgkuZUlXFcDzRPWgYs-Hy-fV5SpxLjU8rACYW3KwZ8y-js1Dye8weAdMfZSPeEBgQ9YP3zdbaPrUOJAHHmjkpqTxH7vPW-Cd2PXHtZf5NlgVkxCBUKIESAyMJ6FyKdNz_WxYdIJvK4uQa6nBdHxMlmQZx6rUgus65NxZkwTaY3BO36ju68WNerv-fQBqFdIz_6jUPfav41DYFiApv9O-MbdASQqpS-ma1TG76mQ82OQdzkqqvpZtAksBGa836HzsxfaOecgbZ2YbswAHr1dXxl919DbRnZum4Wr-UUZMQ66j8Iy5UA_g4B3Ir7IxTf50KhTOrNHtqIIYuBR4Vfz6scc5c7XqATeqMoMvL-06wbBWVATSI44","priceMax":200000,"collections":[],"weaponIds":[],"wears":[],"priceProvider":"buff163"}
headers={
'content-type': 'application/json',
'User-Agent':'mozila/5.0/'
}
jsonData=requests.post(URL,headers=headers,data=json.dumps(body)).json()
for item in jsonData['items']:
name= item['name'].replace('★','').replace('|','').strip()
price=item['price']['price']
print(name)
print(price)
輸出:
Souvenir AWP Dragon Lore (Minimal Wear)
100000000
Sticker iBUYPOWER (Holo) Katowice 2014
49999900
Sticker Titan (Holo) Katowice 2014
49999800
Souvenir AWP Dragon Lore (Field-Tested)
36388800
Sticker Reason Gaming (Holo) Katowice 2014
30000000
Souvenir AWP Dragon Lore (Battle-Scarred)
23618000
Sport Gloves Pandora's Box (Factory New)
22000000
Sticker Team LDLC.com (Holo) Katowice 2014
16750000
StatTrak? Ursus Knife Crimson Web (Factory New)
15000000
StatTrak? Talon Knife Crimson Web (Factory New)
15000000
StatTrak? Nomad Knife Safari Mesh (Battle-Scarred)
15000000
Survival Knife Crimson Web (Factory New)
14999999
StatTrak? Stiletto Knife Slaughter (Field-Tested)
14888800
Sport Gloves Vice (Factory New)
13400000
Sticker Vox Eminor (Holo) Katowice 2014
13000000
Sticker Team Dignitas (Holo) Katowice 2014
11886000
StatTrak? M9 Bayonet Case Hardened (Factory New)
10999900
StatTrak? Paracord Knife Crimson Web (Factory New)
10000000
StatTrak? Ursus Knife Fade (Minimal Wear)
10000000
Sport Gloves Slingshot (Factory New)
10000000
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/459100.html
上一篇:帶硒的select2下拉選單
