每日总结

今天继续写了一点的页面,之后看了看python的代码实列。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 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/92.0.4515.159 Safari/537.36'
}
 
data = {
    'kw':'spider'
}
 
# post请求的参数 必须要进行编码
data = urllib.parse.urlencode(data).encode('utf-8')
 
# post的请求的参数 是不会拼接在url的后面的  而是需要放在请求对象定制的参数中
# post请求的参数 必须要进行编码
request = urllib.request.Request(url=url,data=data,headers=headers)
 
# 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(request)
 
# 获取响应的数据
content = response.read().decode('utf-8')
 
# 字符串--》json对象
 
import json
 
obj = json.loads(content)
print(obj)
 
 
 
# post请求方式的参数 必须编码   data = urllib.parse.urlencode(data)
# 编码之后 必须调用encode方法 data = urllib.parse.urlencode(data).encode('utf-8')
# 参数是放在请求对象定制的方法中  request = urllib.request.Request(url=url,data=data,headers=headers)

  这个代码首先是确定目标为百度翻译的api接口https://fanyi.baidu.com/sug。

定义了一个HTTP请求的头部(headers),包括用户代理信息,模拟浏览器发送请求。

创建了一个包含一个键值对{'kw': 'spider'}的字典,这将作为POST请求的数据。

使用urllib.parse.urlencode(data)将数据字典编码为URL编码格式的字符串,并使用.encode('utf-8')将其编码为字节流,以便在POST请求中发送。

创建了一个urllib.request.Request对象,其中包括目标URL、编码后的数据、以及请求头部信息。

使用urllib.request.urlopen(request)来模拟浏览器向服务器发送POST请求,其中request是包含了所有必要信息的请求对象。

获取服务器的响应内容,使用response.read().decode('utf-8')来读取并解码响应,将其转换为UTF-8编码的字符串。

导入json模块,然后使用json.loads(content)将JSON字符串解析为Python的字典或对象。

最后,打印解析后的JSON对象。

posted @   一个小虎牙  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示