1.GET
1特点
值在url后面 以键值的形式追加在后面
2案例
上节案例
2.POST(在Request()中添加data参数)
data参数
urllib.request.Request(url, data=data, headers=headers)
data 表单数据以bytes类型提交(浏览器F12 Network->Headers->From Data)
处理表单数据data为bytes类型
- 1.先把data定义为字典
- 2.
urlencode(data).encode()
import urllib.request
import urllib.parse
import json
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
headers = {
'User-Agent':'Mozilla/5.0'
}
key = input('翻译>>>')
# 处理form表单数据
data = {
'i': key,
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': '15481491442904',
'sign': '407948613c2943e6ff32f27e6aa7fcd6',
'ts': '1548149144290',
'bv': '9deb57d53879cce82ff92bccf83a3e4c',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_REALTIME',
'typoResult': 'false'}
data = urllib.parse.urlencode(data).encode('utf-8')
req = urllib.request.Request(
url,
data=data,
headers=headers
)
res = urllib.request.urlopen(req)
html = res.read().decode('utf-8')
#json转为python数据类型
rDict = json.loads(html)
print(rDict['translateResult'][-1][-1]['tgt'])
验证问题后面再弄(爬虫07:requests请求模块2),这里只是改了url
博主个人能力有限,错误在所难免.
如发现错误请不要吝啬,发邮件给博主更正内容,在此提前鸣谢.
Email: JentChang@163.com (来信请注明文章标题,如果附带链接就更方便了)
你也可以在下方的留言板留下你宝贵的意见.