Request模块和Json个人小总结

import urllib.request

urllib.request.urlretrieve("http://www.baidu.com", file = r"c:\folder\filename.html") //把网页存到一个文件里面, 但这个方法在执行中会产生缓存,影响性能。需要清除缓存。
urllib.request.urlclean() //清除缓存
req = urllib.request.Request(url, data = databody, headers = headers) //设置一个请求体, data = databody是给请求传参数用的,headers=headers是把url头部参数传过去

response = urllib.request.urlopen("https://www.baidu.com")

data = response.readline() //读取文件的一行
data = response.readlines() //读取文件的全部数据,并把数据赋值给一个列表变量,列表中的每一个元素的数据类型是bytes类型, bytes数据类型是Python3中新添加类型,它需要进行编码((str变为bytes))和解码(变为string)才能存储到文件和从文件读取后能正常显示,通常是utf-8的编码格式
response.info() //返回当前环境的有关信息, 比如编码,Cookie,等
response.getcode() //返回状态码,就是读取网页是否ok
response.geturl() //获得当前访问的网络地址

#解码:把url中的non-ascii解码出来
newURL = urllib.request.unquote(url)
print(newURL)

#编码:把url中的non-ascii字符给编码
newURL2 = urllib.request.unquote(url)
print(newURL2)


GET: 通过URL网址传递信息,可以直接在URL网址上添加要传递的信息。
POST: 可以向服务器提交数据,是一种比较流行的比较安全的数据传递方式
PUT: 请求服务器存储一个*,通常要指定存储的位置
DELETE: 请求服务器删除一个资源
HEAD: 请求获取对应的HTTP报头信息
OPTIONS: 可以获取当前URL所支持的请求类型

request请求返回的response的数据,一般是json格式的字符串,我们需要把它们转成字典或者列表来处理才方便。

Json是一种数据保存格式。它可以保存到本的Json文件,也可以将Json串进行传输,通常将Json成为轻量级的传输方式。

Json文件的组成(符号)
{} 代表对象(字典)
[] 代表列表
: 代表键值对
, 两个部分的分割符号

#将Json格式字符串转换为Python数据类型的对象
jsonData = json.loads(JsonStr) //jsonStr就是一个Json类型字符串,这样转换成了字典,但这个字典用的是单引号,也是ok的

#将Python数据类型的对象(比如字典)转化为Json格式的字符串

JsonStr = json.dumps(jsonData) //JsonData是一个Python的字典

#读取本地的Json文件。比如local.json。
path = r"c:\folder\local.json"

with open(path,"rb") as f
data = json.load(f) //注意区别json.loads()和json.load()的区别,这个读取出来的数据直接就是字典类型的Python对象了。

#将Python数据类型对象比如字典写入文件
path = r"c:\folder\local.json"

with open(path,"w") as f
data = json.dump(f) //注意区别json.dumps()和json.dump()的区别

Request模块和Json个人小总结

上一篇:rinetd基于内网TCP端口转发


下一篇:cnpm install遇到,peerDependencies WARNING strip-pragma-loader@^1.0.0 requires a peer of webpack@^2.0.0 but webpack@4.44.1 was instal led