随笔录--有道翻译小程序

目前仍然可以调用的小脚本,分享给大家,如果有需要详解的,欢迎与我交流,切忌用作商业用途,转发请署名。


import requests
import json
import time
import random
import hashlib


def e_to_c_yd(s):

    url_pre = 'https://fanyi.youdao.com/'

    headers_pre = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36"
    }

    res_pre = requests.get(url_pre, headers=headers_pre)
    cookies = "OUTFOX_SEARCH_USER_ID=" + res_pre.cookies.values()[0]

    lts = str(int(time.time() * 1000))
    salt = lts + str(int(10 * random.random()))
    sign_str = 'fanyideskweb' + s + salt + 'Ygy_4c=r#e#4EX^NUGUc5'

    m = hashlib.md5()
    m.update(sign_str.encode())
    sign = m.hexdigest()  # 生成MD5加密的sign

    url = 'https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'

    m.update(headers_pre['User-Agent'].encode())
    bv = m.hexdigest()  # 生成MD5加密的sign

    headers = {
        "Referer": "https://fanyi.youdao.com/",
        "Cookie": cookies,
        "User-Agent": headers_pre['User-Agent']
    }

    data = {
        "i": s,
        "from": "AUTO",
        "to": "AUTO",
        "smartresult": "dict",
        "client": "fanyideskweb",
        "salt": salt,
        "sign": sign,
        "lts": lts,
        "bv": bv,
        "doctype": "json",
        "version": "2.1",
        "keyfrom": "fanyi.web",
        "action": "FY_BY_REALTlME",
    }

    res = requests.post(url, headers=headers, data=data)
    try:
        content = json.loads(res.text)
        if 'translateResult' in content:
            return content['translateResult'][0][0]['tgt']
    except Exception as e:
        return None
    
e_to_c_yd('hello')
>>> 你好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值