import requests
import random
import time
from fake_useragent import UserAgent
import hashlib
import json
import jsonpath
class YouDao():
def __init__(self, word):
self.url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
self.headers = {
"User-Agent": UserAgent().random,
'Cookie': 'OUTFOX_SEARCH_USER_ID=869231773@10.108.160.18; JSESSIONID=aaaNuRmCVEfzDaCKiSbBx; OUTFOX_SEARCH_USER_ID_NCOO=501543145.4811171; ___rl__test__cookies=1609567776926',
'Referer': 'http://fanyi.youdao.com/'
}
self.word = word
def get_data(self):
lts = str(int(time.time() * 1000))
salt = str((int(lts) + random.randint(1, 9)))
tempstr = "fanyideskweb" + self.word + salt + "Tbh5E8=q6U3EXe+&L[4c@"
md5 = hashlib.md5()
md5.update(tempstr.encode())
sign = md5.hexdigest()
self.data = {
'i': f'{self.word}',
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': salt,
'sign': sign,
'lts': lts,
'bv': 'c5bcddeb9fbf61b6434b3979f00f3efa',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_CLICKBUTTION',
}
def get_html(self):
re = requests.post(url=self.url, headers=self.headers, data=self.data)
return re.content
def pase(self, html):
dict_data = json.loads(html)
return jsonpath.jsonpath(dict_data, '$..tgt')
def run(self):
self.get_data()
html = self.get_html()
print(f'{self.word}', ':', self.pase(html)[0])
if __name__ == '__main__':
word= input("请输入要查的文字:")
youdao = YouDao(word)
youdao.run()