有道翻译小脚本

最近在提高自己编程能力,拿一些现实的小脚本练下。该脚本为python语言,主要涉及模块urllib。

功能:输入中文翻译出来英文,输入英文翻译出来中文。

import urllib.request
import urllib.parse  #将data解析为url格式
import json

while True:
    content = input("请输入需要翻译的内容(输入“q!”退出程序):")
    if content == '':
        print('请输入需要翻译的内容:')
        continue        #如果输入为空,则跳出本次循环,进入下次循环。
    if content == 'q!':
        break          #如果输入q!,则退出程序。

    url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=https://www.baidu.com/link'

    head = {}
    head['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'


    data = {}
    data['type'] = 'AUTO'
    data['i'] = content
    data['doctype'] = 'json'
    data['xmlVersion'] = '1.8'
    data['keyfrom'] = 'fanyi.web'
    data['ue'] = 'UTF-8'
    data['action'] = 'FY_BY_CLICKBUTTON'
    data['typoResult'] = 'true'
    data = urllib.parse.urlencode(data).encode('utf-8')      #当url地址含有中文或者“/”的时候,这是就需要用做urlencode一下编码转换。

    req = urllib.request.Request(url,data,head)      #当请求方法为get时给url赋值即可。请求方法为post时urllib.request.Request(url,data)把data赋值即可
    response = urllib.request.urlopen(req)
    html = response.read().decode('utf-8')

    json.loads(html)
    target = json.loads(html)
    target = target['translateResult'][0][0]['tgt']
    print(target)
    

 

原文地址:https://www.cnblogs.com/cui0x01/p/6151606.html