9、自动调用在线翻译进行内容翻译

来源:互联网 发布:寒冬之握淘宝 编辑:程序博客网 时间:2024/05/16 08:12
'''
   功能:根据输入内容,自动调用在线翻译软件进行翻译
   2016-05-13
'''
import urllib.request
import urllib.parse
import json
import time

#循环对输入内容进行翻译
while True:
    #提示用户输入要翻译的内容
    content = input('请输入要翻译的内容(输入"q!"退出程序):')
    if content == 'q!':
        break

    url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=http://www.youdao.com/'
    '''
    #伪装成浏览器进行访问
    head = {}
    head['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586'
    '''
    data = {}
    data['type'] = 'AUTO'
    data['i'] = content
    data['doctype'] = 'json'
    data['xmlVersion'] = '1.6'
    data['keyfrom'] = 'fanyi.web'
    data['ue'] = 'UTF-8'
    data['typoResult'] = 'true'

    #将数据进行格式化编码
    data = urllib.parse.urlencode(data).encode('utf-8')
    #将编码后的数据提交
    #req = urllib.request.Request(url, data, head)

    #第二种方法伪装
    req = urllib.request.Request(url, data)
    req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586')

    response = urllib.request.urlopen(req)
    #将翻译后得到的数据进行解码
    html = response.read().decode('utf-8')

    #将json格式转换为字典格式
    target = json.loads(html)
    #获取翻译后的结果
    result = target['translateResult'][0][0]['tgt']
    #打印输出翻译后的结果
    print("翻译结果:" + result)

    time.sleep(5)
0 0