import json
import execjs
import requests
import time
import hashlib
url = 'https://h5api.m.taobao.com/h5/mtop.alimama.union.xt.en.api.entry/1.0/?'
headers = {
'Referer':'https://uland.taobao.com/',
'User-Agent':'',
}
cookies = {
'cna':'AoYFHTLSGQQCAXB64U7RY/6C',
'xlly_s':'1',
't':'7575075e347f479d0eee2c5a21599bf6',
'sgcookie':'E100lLK8NSWxT8a6mjxxmWRB4OEQ%2FlGaOd%2BznubWeUddTxG9RO516pBOZmYxK%2BGMhYiWCZYeowdRrSp%2FCgWnPK7uhpXyGzOc4eOiiJQzlBtYVNb4wEcyuuXqvxGZoDwlsVbc',
'uc3':'id2=UUpgQhIwentaFPHE6g%3D%3D&vt3=F8dCsGCpNx9UBndAoU4%3D&nk2=F5RNY%2B8U7LKQh4dl&lg2=U%2BGCWk%2F75gdr5Q%3D%3D',
'lgc':'tb8640887158',
'uc4':'nk4=0%40FY4GtKS74PioQfLxaoGmYstr0Scw0l8%3D&id4=0%40U2gqzcK36v8aRid7pzv9UF516uL0tBxJ',
'tracknick':'tb8640887158',
'_cc_':'VFC%2FuZ9ajQ%3D%3D',
'thw':'cn',
'mt':'ci=-1_0',
'cookie2':'23267c8c5b3a7b23f1ec1372c3c90af9',
'uc1':'cookie14=Uoe9bFjd62XYJQ%3D%3D',
'_tb_token_':'e3b3eadee1e05',
'_m_h5_tk':'398643d742c308b8b4f648f0a3e4dd7f_1691291540929',
'_m_h5_tk_enc':'4c24e4fdf1440ef069a1ff7aecb45d6a',
'isg':'BF9fZh4rR9hbnkOfq-cAb58e7rPpxLNmRm2ucPGsMo5VgH4C-Zfbtn8RQhD-OIve',
'l':'fBMZeBhuNpyU12eKBO5CPurza77TZIRb8sVzaNbMiIEGa6MR1F18SNC6TceMRdtjgT5cVetyzs0aOdEk77ULRFkDBeYIpIqLACJ68eM3N7AN.',
'tfstk':'dD7MvJZ2aG-_Cw50nVL_WVowEErp1ATXEt3vHEp4YpJIXEE1MIjhNtvTGlTOxKXFKduT11BHgtffX5tYCjc1-T0xWRZ1gqYvu8e8yzC16ET4eDpnrAtkkfEyLiaR11TjsxPRYzdcVYmRXu0YyHoCS5xkEjDoZTf36ivP_d5O6wlDbc1MKOXN8CjHUOSiY0lE5qOUMwojchRBtLdRlfUh.'
}
data = {
"pNum":0,
"pSize":"60",
"refpid":"mm_26632258_3504122_32538762",
"variableMap":"{\"q\":\"机车\",\"navigator\":false,\"clk1\":\"a79006e39befffbcc4f5c9834616b520\",\"union_lens\":\"recoveryid:201_33.60.246.239_41010821_1691245037632;prepvid:201_33.8.101.132_41083358_1691249875820\",\"recoveryId\":\"201_33.70.129.175_41070250_1691249942756\"}",
"qieId":"36308",
"spm":"a2e0b.20350158.31919782",
"app_pvid":"201_33.70.129.175_41070250_1691249942756",
"ctm":"spm-url:a2e0b.20350158.search.1;page_url:https%3A%2F%2Fuland.taobao.com%2Fsem%2Ftbsearch%3Frefpid%3Dmm_26632258_3504122_32538762%26keyword%3D%25E6%259C%25BA%25E8%25BD%25A6%26clk1%3Da79006e39befffbcc4f5c9834616b520%26upsId%3Da79006e39befffbcc4f5c9834616b520%26spm%3Da2e0b.20350158.search.1%26pid%3Dmm_26632258_3504122_32538762%26union_lens%3Drecoveryid%253A201_33.60.246.239_41010821_1691245037632%253Bprepvid%253A201_33.8.101.132_41083358_1691249875820"
}
KEY = input('请输入你要搜索的商品:')
PAGE = int(input('请输入页码:'))
data['variableMap'] = data['variableMap'].replace('机车', KEY)
for page in range(PAGE):
data['pNum'] = page
params = {
'jsv':'2.5.1',
'appKey':'12574478',
't':'',
'sign':'',
'api':'mtop.alimama.union.xt.en.api.entry',
'v':'1.0',
'AntiCreep':'true',
'timeout':'20000',
'AntiFlood':'true',
'type':'jsonp',
'dataType':'jsonp',
'callback':'mtopjsonp2',
'data':json.dumps(data, ensure_ascii=False)
}
session = requests.Session()
# 获取cookies
response = session.get(url=url, headers=headers, params=params)
cookie = response.cookies.get_dict()
c = cookie['_m_h5_tk'].split('_')[0]
# js逆向
t = int(time.time() * 1000)
# 抠js代码
with open('淘宝.js', 'r', encoding='utf-8') as f:
encode = f.read()
sign = execjs.compile(encode).call('start', t, params['data'], c)
s = c + "&" + str(t) + "&" + '12574478' + "&" + params['data']
print(sign)
# 或者MD5加密
md5 = hashlib.md5()
md5.update(s.encode('utf-8'))
b = md5.hexdigest()
print(b)
params['t'] = t
params['sign'] = sign
cookies['_m_h5_tk'] = cookie['_m_h5_tk']
cookies['_m_h5_tk_enc'] = cookie['_m_h5_tk_enc']
resp = session.get(url=url, headers=headers, params=params, cookies=cookies)
con = resp.text.replace('mtopjsonp2(','').replace(')', '')
con = json.loads(con)
for i in con['data']['recommend']['resultList']:
print(i)
01-19
8559
07-06
739
06-12
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交