cui0x01

最近在提高自己编程能力,拿一些现实的小脚本练下。该脚本为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)
    

 

分类:

技术点:

相关文章:

  • 2021-11-03
  • 2021-12-10
  • 2021-11-29
  • 2021-10-17
  • 2021-10-17
  • 2021-12-10
猜你喜欢
  • 2021-12-20
  • 2021-11-13
  • 2021-11-13
  • 2021-12-20
  • 2021-10-27
相关资源
相似解决方案