2018-07-23 13:31:14 738浏览
在现如今,2018年Python一直属于IT行业中比较热门技术,那么今天扣丁学堂Python培训给大家介绍一下关于Python3中urlopen()使用详解吧,首先urllib.request.urlopen()函数用于实现对目标url的访问。
函数原型如下:
urllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None)
#coding=utf-8
#Python3.x
'''
利用有道翻译进行在线翻译
'''
importurllib.request
importurllib.parse
importjson
deftraslate(words):
#目标URL
targetURL="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null"
#用户自定义表单,words表示的是用户要翻译的内容。这里使用的是dict类型,也可以使用元组列表(已经试过的)。
data={}
data['type']='AUTO'
data['i']=words
data['doctype']='json'
data['xmlVersion']='1.8'
data['keyfrom']='fanyi.web'
data['ue']='UTF-8'
data['action']='FY_BY_CLICKBUTTON'
data['typoResult']='true'
#将自定义data转换成标准格式
data=urllib.parse.urlencode(data).encode('utf-8')
#发送用户请求
html=urllib.request.urlopen(targetURL,data)
#读取并解码内容
rst=html.read().decode("utf-8")
rst_dict=json.loads(rst)
returnrst_dict['translateResult'][0][0]['tgt']
if__name__=="__main__":
print("输入字母q表示退出")
whileTrue:
words=input("请输入要查询的单词或句子:\n")
ifwords=='q':
break
result=traslate(words)
print("翻译结果是:%s"%result)
【关注微信公众号获取更多学习资料】