ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

调用有道翻译接口翻译输入的文字

2021-12-06 15:02:34  阅读:172  来源: 互联网

标签:__ 翻译 word 有道 youdao 接口 import self md5


本文代码是从别处看到,觉得以后会有用,然后贴在这里,感谢作者

代码不是很复杂,就是对接口的一系列配置传参,实现自动翻译

import requests
import time
import random
import hashlib
import json
 
 
class YouDao:
    def __init__(self, word):
        self.word = word
        self.formdata = None
        self.url = 'https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
        self.headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 Edg/94.0.992.50',
            'Referer': 'https://fanyi.youdao.com/',
            'cookie': '_ntes_nnid=b2bd3183b80a536b5e23a0517a0dbe09,1609301940731; OUTFOX_SEARCH_USER_ID_NCOO=96820041.49293956; OUTFOX_SEARCH_USER_ID="787599989@10.169.0.84"; JSESSIONID=aaa5u4ALZhnHhcfnoUsYx; ___rl__test__cookies=1634549585488'
        }
 
    def translation(self):
        self.config()
        response = requests.post(self.url, self.formdata, headers=self.headers)
        response.encoding = 'utf-8'
        try:
            data = json.loads(response.text)
            rdata = data['translateResult'][0][0]['tgt']
        except:
            rdata = 'error'
        return rdata
 
    def config(self):
        '''
        用于配置发送数据formdata
        '''
 
        ts = str(int(time.time() * 1000))
        i = ts + str(random.randint(0, 9))
        salt = i
        str_ = 'fanyideskweb' + self.word + i + "Y2FYu%TNSbMCxc3t2u^XT"
        md5 = hashlib.md5()
        md5.update(str_.encode('utf-8'))
        sign = md5.hexdigest()
        self.formdata = {
            'i': self.word,
            'from': 'AUTO',
            'to': 'AUTO',
            'smartresult': 'dict',
            'client': 'fanyideskweb',
            'salt': salt,
            'sign': sign,
            'lts': ts,
            'bv': '8f307b78e0cf5a0a41f77f2f8d464fe3',
            'doctype': 'json',
            'version': '2.1',
            'keyfrom': 'fanyi.web',
            'action': 'FY_BY_REALTlME'
        }
 
 
if __name__ == '__main__':
    word = input('请输入要翻译的内容:')
    youdao = YouDao(word)
    print(youdao.translation())

 

执行脚本

 

 本案例有一点值得借鉴,对于输入后返回结果的脚本,可采用本案例的代码书写方式标准化,简单清晰明了

 

标签:__,翻译,word,有道,youdao,接口,import,self,md5
来源: https://www.cnblogs.com/becks/p/15649929.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有