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秒
python urllib案列
最新推荐文章于 2024-07-05 06:34:42 发布