2023-11-10

2023-11-09  本文已影响0人  安卓_背包客
import hashlib
import random
import time
import requests


def send_request(content):
    salt = str(round(time.time() * 1000)) + str(random.randint(0, 9))
    data = "fanyideskweb" + content + salt + "Tbh5E8=q6U3EXe+&L[4c@"
    sign = hashlib.md5()
    sign.update(data.encode("utf-8"))
    sign = sign.hexdigest()

    url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
    headers = {
        'Cookie': 'OUTFOX_SEARCH_USER_ID=-1927650476@223.97.13.65;',
        'Host': 'fanyi.youdao.com',
        'Origin': 'http://fanyi.youdao.com',
        'Referer': 'http://fanyi.youdao.com/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36',
    }
    data = {
        'i': str(content),
        'from': 'AUTO',
        'to': 'AUTO',
        'smartresult': 'dict',
        'client': 'fanyideskweb',
        'salt': str(salt),
        'sign': str(sign),
        'version': '2.1',
        'keyfrom': 'fanyi.web',
        'action': 'FY_BY_REALTlME',
    }

    res = requests.post(url=url, headers=headers, data=data).json()
    return res['translateResult'][0][0]['tgt']


if __name__ == '__main__':
    content = '你好啊,有道翻译'
    result = send_request(content)
    print(result)

<meta charset="utf-8">

有兴趣了解原理点击进入有道在线翻译,通过F12查看每次翻译的接口调用及参数情况

如果想要修改翻译的语言,需要修改代码data中的fromto字段,下面是每种语言对应的字符

中文  zh-CHS
英语  en
日语  ja
韩语  ko
法语  fr
德语  de
俄语  ru
西班牙语    se
葡萄牙语    pt
意大利语    it
越南语     vi
印尼语     id
阿拉伯语    ar
荷兰语     nl
泰语      th
上一篇 下一篇

猜你喜欢

热点阅读