# -*- coding: utf-8 -*- import requests import time import hashlib import random class youdao_crawl(): def __init__(self): self.headers = { \'User-Agent\': \'自己的User-Agent\', \'Referer\': \'http://fanyi.youdao.com/\', \'COOKIE\': \'自己的COOKIE\' # 一次放入 长久有效 } self.data = { \'i\': None, \'from\': \'AUTO\', \'to\': \'AUTO\', \'smartresult\': \'dict\', \'client\': \'fanyideskweb\', \'salt\': None, \'sign\': None, \'ts\': None, \'bv\': None, \'doctype\': \'json\', \'version\': \'2.1\', \'keyfrom\': \'fanyi.web\', \'action\': \'FY_BY_REALTlME\' } self.url = \'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule\' def translate(self, word): ts = str(int(time.time() * 10000)) salt = str(int(time.time() * 10000) + random.random() * 10 + 10) sign = \'fanyideskweb\' + word + salt + \']BjuETDhU)zqSxf-=B#7m\' sign = hashlib.md5(sign.encode(\'utf-8\')).hexdigest() bv = \'5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36\' bv = hashlib.md5(bv.encode(\'utf-8\')).hexdigest() self.data[\'i\'] = word self.data[\'salt\'] = salt self.data[\'sign\'] = sign self.data[\'ts\'] = ts self.data[\'bv\'] = bv re = requests.post(self.url, headers=self.headers, data=self.data) return re.json()[\'translateResult\'][0][0].get(\'tgt\') if __name__ == \'__main__\': youdao = youdao_crawl() while True: content = input("输入q结束,\n" "请输入您需要翻译的内容: ") if cOntent== "q": break trans = youdao.translate(content) print(trans)