Python 简易实现翻译功能,用有道API 【1】
# -*- 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)
如果人生还有重来,那就不叫人生。

浙公网安备 33010602011771号