python urllib case

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/"



    #以下是网站表格
    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'

    #以下是网站表格2018版
    data2 = {}
    data2['i'] = content
    data2['from']='AUTO'
    data2['to']='AUTO'
    data2['smartresult'] = 'dict'
    data2['client']='fanyideskweb'
    data2['salt']='1524358521610'
    data2['sign']='ebdce498be2ba20d65e5c161ef8c24b1'
    data2['doctype']='json'
    data2['version']='2.1'
    data2['keyfrom']='fanyi.web'
    data2['action']='FY_BY_REALTIME'
    data2['typoResult']='false'







    #以下是解析编码的值(urllib.parse.urlencode()) 赋值给data2
    data2 = urllib.parse.urlencode(data2).encode('utf-8')  #encode是将Unix格式转化成utf-8(python默认的是Unix方式)

    response = urllib.request.urlopen(url, data2) #发出请求
    #以下是打开网页
    req = urllib.request.Request(url, data2)
    #以下是发出请求后模仿模拟器设置add_header()
    req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36')
    #以下得到响应(response.read())赋值给html
    html = response.read().decode('utf-8') #decode是将utf-8格式转化成Unix

    #json数据解析得到一个字典
    target = json.loads(html)
    print(target)

    print("翻译结果:%s" % (target['translateResult'][0][0]['tgt']))
    time.sleep(5)#暂停5秒

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326165622&siteId=291194637