import requests
import json
import re
headers = {
'Cookie': 'thw=xx; xlly_s=1; cna=pokTIX7q3iQBASQJilVobnjJ; t=8c0769145174dee42220c3b463ebf018; _tb_token_=eaee4e34e837b; _samesite_flag_=true; cookie2=12a7035dc9f7b8aae99cd67e9ff77698; 3PcFlag=1754119165679; wk_cookie2=1f2154a9bdfa0727d511a8aec1dbd084; wk_unb=UUpgRKVdjdjGUFTv3Q%3D%3D; sgcookie=E100U1AnRda5AYtmF1pwCRpxx4PecbfFIMfZWUDxmbES7lQOO8jsP1lqX6vx2i75l5a0221HvpPf8VbZJ5F%2FpQrYdLtO9zdt%2FC95r6XPps2pbc8%3D; _hvn_lgc_=0; havana_lgc2_0=eyJoaWQiOjIyMTI4OTMyNTU5MTAsInNnIjoiOGY4NWYyY2FjN2RjMGRlMjc1ZDAxZjE0OWZmMTc3MzQiLCJzaXRlIjowLCJ0b2tlbiI6IjFfRHJ2bU12VHBlWVYyN1U2UlEtOThnIn0; unb=2212893255910; csg=36d5ef59; lgc=tb400206618092; cancelledSubSites=empty; cookie17=UUpgRKVdjdjGUFTv3Q%3D%3D; dnk=tb400206618092; skt=3c1af25a3a7bbf1b; tracknick=tb400206618092; _l_g_=Ug%3D%3D; sg=20c; _nk_=tb400206618092; cookie1=VAcI1XTDLOFMWgPI4F0FAI4i7b%2B2K%2B5ImwlmuNbBPzE%3D; uc1=cookie15=VT5L2FSpMGV7TQ%3D%3D&pas=0&cookie14=UoYbz9owPLKr7A%3D%3D&cookie21=VFC%2FuZ9ainBZ&cookie16=UtASsssmPlP%2Ff1IHDsDaPRu%2BPw%3D%3D&existShop=false; sn=; uc3=nk2=F5RBxfYzRcRqgX8aAC8%3D&lg2=V32FPkk%2Fw0dUvg%3D%3D&vt3=F8dD2fnuskKMCPBIhB4%3D&id2=UUpgRKVdjdjGUFTv3Q%3D%3D; existShop=MTc1NDExOTIwNg%3D%3D; uc4=id4=0%40U2gqy1TvK7%2BjzMjqt4n5vTdrNk1WSdC1&nk4=0%40FY4KoN2z1tqhyjvkxkSrK%2F4ttW%2BU3iJiEQ%3D%3D; _cc_=U%2BGCWk%2F7og%3D%3D; havana_lgc_exp=1785223206368; sdkSilent=1754205608933; havana_sdkSilent=1754205608933; mtop_partitioned_detect=1; _m_h5_tk=1ad18eecec4432af1ad90638ac571a9d_1754140970969; _m_h5_tk_enc=bcb375bb119531769c6b4c156966b402; bxuab=0; tfstk=gu3SQ7fIGTXSIlzdOuAV5DyqQwaCPI8NA6NKsXQP9zU8RWGL3wRuzH4Id-M3Uuz8UwgQrqoP88JuRXHaRdJw7FloZu4pQdkKBBUb5WPdy9P-MzVERovSFFloZsC5pCov76ghEhVRvJHLkrFz1yF8v7hvGWN_pye8vtIY6-ULJkedDZFu69F8eudjM-VLJ7FL2IaYnWzLpxBPQWOUFbO6U_tFZO1oa-_dJqNvKRhW0NNru76apb2XBPgYN9etw-_dJROUjZGjaL_igzcxC5kykaMssqDbMALBhyDmvvFIHFXUrckoSoGDXZh7P-qT6qddWJuS0feb56L-Gzw7X4r65CMtGXnacqR9Sza8eDzoT19rG4MrZqGF9iU7zmZsPPLGeJoq12NI-pYjCf0mhSH9RLIzKNysxbsCylbQGRRXGMjHwA48swkcH7q8i7aXGI67kuF0GRRXGMj32SVVcIOfFrC..; isg=BBcXPPn-M-Nd-LdpV56WQNn5pothXOu-ZWhaI2lENeZMmDfacS71DgG--jiGcMM2',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 SLBrowser/9.0.6.5061 SLBChan/112 SLBVPV/64-bit'
}
url = 'https://h5api.m.taobao.com/h5/mtop.relationrecommend.wirelessrecommend.recommend/2.0/'
params = {
"jsv": "2.7.4",
"appKey": "12574478",
"t": "1754130584113",
"sign": "39f9c2a1cb069fb6511f18592059f77c",
"api": "mtop.relationrecommend.wirelessrecommend.recommend",
"v": "2.0",
"type": "jsonp",
"dataType": "jsonp",
"callback": "mtopjsonp3",
"data": "{\"appId\":\"43356\",\"params\":\"{\\\"device\\\":\\\"HMA-AL00\\\",\\\"isBeta\\\":\\\"false\\\",\\\"grayHair\\\":\\\"false\\\",\\\"from\\\":\\\"nt_history\\\",\\\"brand\\\":\\\"HUAWEI\\\",\\\"info\\\":\\\"wifi\\\",\\\"index\\\":\\\"4\\\",\\\"rainbow\\\":\\\"\\\",\\\"schemaType\\\":\\\"auction\\\",\\\"elderHome\\\":\\\"false\\\",\\\"isEnterSrpSearch\\\":\\\"true\\\",\\\"newSearch\\\":\\\"false\\\",\\\"network\\\":\\\"wifi\\\",\\\"subtype\\\":\\\"\\\",\\\"hasPreposeFilter\\\":\\\"false\\\",\\\"prepositionVersion\\\":\\\"v2\\\",\\\"client_os\\\":\\\"Android\\\",\\\"gpsEnabled\\\":\\\"false\\\",\\\"searchDoorFrom\\\":\\\"srp\\\",\\\"debug_rerankNewOpenCard\\\":\\\"false\\\",\\\"homePageVersion\\\":\\\"v7\\\",\\\"searchElderHomeOpen\\\":\\\"false\\\",\\\"search_action\\\":\\\"initiative\\\",\\\"sugg\\\":\\\"_4_1\\\",\\\"sversion\\\":\\\"13.6\\\",\\\"style\\\":\\\"list\\\",\\\"ttid\\\":\\\"600000@taobao_pc_10.7.0\\\",\\\"needTabs\\\":\\\"true\\\",\\\"areaCode\\\":\\\"CN\\\",\\\"vm\\\":\\\"nw\\\",\\\"countryNum\\\":\\\"156\\\",\\\"m\\\":\\\"pc_sem_new\\\",\\\"page\\\":1,\\\"n\\\":48,\\\"q\\\":\\\"%E9%94%AE%E7%9B%98\\\",\\\"qSource\\\":\\\"url\\\",\\\"pageSource\\\":\\\"tbpc.pc_sem/a.search_hover.0\\\",\\\"tab\\\":\\\"all\\\",\\\"pageSize\\\":48,\\\"totalPage\\\":100,\\\"totalResults\\\":4800,\\\"sourceS\\\":\\\"0\\\",\\\"sort\\\":\\\"_coefp\\\",\\\"bcoffset\\\":\\\"\\\",\\\"ntoffset\\\":\\\"\\\",\\\"filterTag\\\":\\\"\\\",\\\"service\\\":\\\"\\\",\\\"prop\\\":\\\"\\\",\\\"loc\\\":\\\"\\\",\\\"start_price\\\":null,\\\"end_price\\\":null,\\\"startPrice\\\":null,\\\"endPrice\\\":null,\\\"itemIds\\\":null,\\\"p4pIds\\\":null,\\\"p4pS\\\":null,\\\"categoryp\\\":\\\"\\\",\\\"myCNA\\\":\\\"pokTIX7q3iQBASQJilVobnjJ\\\",\\\"channelSrp\\\":\\\"tbsy-lianxiang\\\"}\"}"
}
response = requests.get(url=url, params=params, headers=headers)
jsonp_data = response.text
# 使用正则表达式提取JSON数据
json_str = re.findall(r'mtopjsonp3\((.*?)\)', jsonp_data)[0]
data = json.loads(json_str)
# 解析商品列表
products = data["data"]["p4pData"]["bottom"]["data"]["ds1"]
result = []
for item in products:
# 提取名称、价格、购买人数
name = item.get("ADGTITLE", "")
price = item.get("SALEPRICE", "")
sales = item.get("REAL_SALES", "")
# 提取地区(从ADGEXTENSION解析)
ad_ext = item.get("LOCATION", "")
result.append({
"名称": name,
"价格": price,
"购买人数": sales,
"地区": ad_ext
})
# 打印结果
for idx, product in enumerate(result, 1):
print(f"商品{idx}:")
print(f"名称:{product['名称']}")
print(f"价格:{product['价格']}")
print(f"购买人数:{product['购买人数']}")
print(f"地区:{product['地区']}\n")
好的,这是我报错的代码,根据你的判断,帮我修改
最新发布