python白嫖有道翻譯

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)

有興趣了解原理點擊進入有道在線翻譯,通過F12查看每次翻譯的接口調用及參數情況

  • 默認是自動檢測輸入的語言
    • 輸入中文默認翻譯為英文
    • 輸入外語默認翻譯為中文

如果想要修改翻譯的語言,需要修改代碼data中的fromto字段,下面是每種語言對應的字符

中文  zh-CHS
英語  en
日語  ja
韓語  ko
法語  fr
德語  de
俄語  ru
西班牙語    se
葡萄牙語    pt
意大利語    it
越南語     vi
印尼語     id
阿拉伯語    ar
荷蘭語     nl
泰語      th
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容