import requests
import time
import random
from hashlib import md5
"""
若是第一次访问失败 优先考虑请求头的问题
若是请求头设置好了 换了个数据访问不成功
那麽问题处在了数据 看看数据之间有什莫差别
需要js逆向查看数据是怎么生成的
"""
url = 'https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36',
'Host': 'fanyi.youdao.com',
'Origin': 'https://fanyi.youdao.com',
'Referer': 'https://fanyi.youdao.com/',
'Cookie': 'OUTFOX_SEARCH_USER_ID_NCOO=1012525400.6718024; OUTFOX_SEARCH_USER_ID="-538691158@10.110.96.157"; ___rl__test__cookies=1664868355377'
}
word = input("输入要查询的单词")
# slat sign lts需要重新生成
times = time.time()
r = int(time.time() * 1)
salt = str(r + random.randint(0, 10))
lts = str(r)
# 'e7010bbafd61cef81b705642292295c4'
sign = md5(("fanyideskweb" + word + salt + "Ygy_4c=r#e#4EX^NUGUc5").encode()).hexdigest()
data = {
'i': word,
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt':salt,
'sign': sign,
'lts': lts,
'bv': '47edca4d7e6ec9bf4fca7156ea36b8ef',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_REALTlME'
}
resp = requests.post(url, data, headers=headers)
print(resp.text)
python练习4
最新推荐文章于 2024-08-10 23:14:03 发布