某到翻译(音译汉)

import base64
import time
from Crypto.Cipher import AES
import requests
import hashlib


class YouDao(object):
    def __init__(self):
        self.time_str = str(int(time.time() * 1000))
        self.headers = {
            "Origin": "https://fanyi.youdao.com",
            "Referer": "https://fanyi.youdao.com/",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.61",
            'Host': 'dict.youdao.com',
            'cookie': 'OUTFOX_SEARCH_USER_ID=-2034389685@10.110.96.157; OUTFOX_SEARCH_USER_ID_NCOO=1994625046.2245197',
        }

    # sign值加密
    def sign(self):
        str_md5 = f'client=fanyideskweb&mysticTime={self.time_str}&product=webfanyi&key=fsdsogkndfokasodnaso'
        sign = hashlib.md5(str_md5.encode("utf-8")).hexdigest()
        return sign

    # 返回值解密
    def result(self, text):
        #   偏移量
        decodeiv = "ydsecret://query/iv/C@lZe2YzHtZ2CYgaXKSVfsb7Y4QWHjITPPZ0nQp87fBeJ!Iv6v^6fvi2WN@bYpJ4"
        # 秘钥
        decodekey = "ydsecret://query/key/B*RGygVywfNBwpmBaZg*WT7SIOUP2T0C9WHMZN39j^DAdaZhAnxvGcCY6VYFwnHl"
        # 先把密匙和偏移量进行md5加密 digest()是返回二进制的值
        key = hashlib.md5(decodekey.encode(encoding='utf-8')).digest()
        iv = hashlib.md5(decodeiv.encode(encoding='utf-8')).digest()
        # AES解密 CBC模式解密
        aes_en = AES.new(key, AES.MODE_CBC, iv)
        # 将已经加密的数据放进该方法
        data_new = base64.urlsafe_b64decode(text)
        # 参数准备完毕后,进行解密
        result = aes_en.decrypt(data_new).decode('utf-8')
        return result

    def webtrans_late(self, text):
        data = {
            "i": text,
            "from": 'en',
            "to": 'zh-CHS',
            "domain": "0",
            "dictResult": "true",
            "keyid": "webfanyi",
            "sign": self.sign(),
            "client": "fanyideskweb",
            "product": "webfanyi",
            "appVersion": "1.0.0",
            "vendor": "web",
            "pointParam": "client,mysticTime,product",
            "mysticTime": self.time_str,
            "keyfrom": "fanyi.web",
            "mid": "1",
            "screen": "1",
            "model": "1",
            "network": "wifi",
            "abtest": "0",
            "yduuid": "abcdefg"
        }
        url = "https://dict.youdao.com/webtranslate"

        response = requests.post(url, headers=self.headers, data=data)
        result = self.result(response.text)
        print(result)
        return result


if __name__ == '__main__':
    YouDao().webtrans_late('people')

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值