* coding : utf-8 *
@Time : 2021/11/19 16:45
@Author : Harken
post 请求
import urllib.request
import urllib.parse
url = ‘https://fanyi.baidu.com/sug’
headers = {
‘User-Agent’:’ Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36’
}
data = {‘kw’:‘spider’}
post请求的参数 必须进行编码
data = urllib.parse.urlencode(data).encode(‘utf-8’)
request = urllib.request.Request(url = url,data = data,headers = headers)
post请求的参数 是不会拼接在url的后面的,而是需要放在请求对象定制的参数中(和get不一样)
print(request) 打印出来的值:<urllib.request.Request object at 0x00000259E8B82FD0>
0x00000259E8B82FD0需要转编码 .encode(‘utf-8’)
接下来模拟浏览器向服务器发送请求
response = urllib.request.urlopen(request)
获取响应的数据
content = response.read().decode(‘utf-8’)
print(content)
字符串–>json对象
import json
obj = json.loads(content)
print(obj)