(续)修改vnr源文件,接入新版有道翻译

本文介绍了一个使用Python实现的有道翻译API示例程序。该程序通过发送POST请求到有道翻译服务器,实现了从日语到中文的文本翻译功能。文章详细展示了如何构造HTTP请求头、生成签名以及设置必要的请求参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# encoding: utf-8
import requests
import json
import time
import hashlib
import random

if __name__ == '__main__':
    import sys

    reload(sys)
    sys.setdefaultencoding('UTF-8')


def translate(text, to='zh-CHS', fr='ja'):
    S = requests.Session()
    target_url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
    target_headers = {
        'Referer': 'http://fanyi.youdao.com/',
        'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36',
    }
    r = str(int(time.time() * 1000) + random.randint(1, 10))
    src = "fanyideskweb" + text + r + "ebSeFb%=XZ%T[KZ)c(sy!"
    tank = hashlib.md5()
    tank.update(src.encode("utf8"))
    sign = tank.hexdigest()
    Form_Data = {
        'i': text,
        'from': 'AUTO',
        'to': 'AUTO',
        'smartresult': 'dict',
        'client': 'fanyideskweb',
        'salt': r,
        'sign': sign,
        'doctype': 'json',
        'version': '2.1',
        'keyfrom': 'fanyi.web',
        'action': 'FY_BY_CLICKBUTTION',
        'typoResult': 'false'
    }
    target_headers[
        'Cookie'] = '___rl__test__cookies=1519371677462; fanyi-ad-closed=1; fanyi-ad-id=40789; JSESSIONID=aaaJ0epv-u81l5kbPSahw; OUTFOX_SEARCH_USER_ID=-1436919211@10.168.8.61; _ga=GA1.2.75737907.1502714379; OUTFOX_SEARCH_USER_ID_NCOO=685806044.3219135'
    target_response = S.post(url=target_url, data=Form_Data, headers=target_headers)
    translateResult = json.loads(target_response.text)
    return '\n'.join(it['tgt'] for it in translateResult['translateResult'][0])


if __name__ == "__main__":
    s = u"じゃあ"
    t = translate(s, to='zh-CHS', fr='ja')

    print t

覆盖\Library\Frameworks\Sakura\py\libs\youdao\youdaofanyi.py

嘘~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值