练习内容为用python访问百度翻译,得到目标信息。代码如下:
import urllib.request
import urllib.parse
url = 'https://fanyi.baidu.com/v2transapi?from=srp&to=zh'
headers = {
'User_Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, \ like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.82'
}
data = {
'kw' : 'spider'
}
data = urllib.parse.urlencode(data).encode('utf-8')
request = urllib.request.Request(url=url,data=data,headers=headers)
response = urllib.request.urlopen(request)
content = response.read().decode('utf-8')
import json
obj = json.loads(content)
print(obj)
在百度翻译网页右键点开inspect,找到有效数据,复制url,访问方式为post,所以要自己定制request,最后用json。
需要注意的是post请求的参数必须要进行编码,编码后需要调用encode方法‘data = urllib.parse.urlencode(data).encode('utf-8')’即这一步。