requests模块介绍

一.requests模块
(1)requests模块的get方法
1、response = requests.get(
url=请求url地址,
headers = 请求头字典,
params=请求参数字典
)
2、get请求一般带参数,带参数就将参数封装到params字典中就可以了。
案例:新浪新闻,两种分装params请求参数方式
3、response对象
(1)响应正文:
a、字符串格式的响应正文:response.text
b、字节类型(bytes)的响应正文:response.content
(2)响应正文的乱码问题解决:
a、encode和decode就是二进制和字符串之间转换方法。
编程里面数据载体
存储用变量或者常量
可以看到数据的内容一定是字符串格式。
正常的计算机数据本质都是二进制–bytes。
str.encode(‘编码’)—>bytes
bytes.decode(‘编码’)---->str
乱码:编码不一致造成的
response.content.decode(‘页面的正确编码’)—得到页面正确的字符串内容

b、response.text之所以可以获取字符串格式,其实在requests模块的底层用
response.encoding这个属性所对应的编码来将二进制内容变成字符串。其实就是response.encoding所对应的编码错了。只需要指定正确的即可。
response.encoding这个属性值值是requests模块自动识别。
response.encoding=‘页面正确编码’
response.text—》正确的页面内容
如果response.text乱码了,可以先给response.encoding设置正确编码,在通过response.text就可以获取正确的页面内容。

内置函数&内置模块:python自带的模块 dir() str()
(3)状态码:response.status_code
(4)响应头:response.headers
4、分页如何实现?
分页的请求的每一页url基本上都是通过get请求的一个请求参数决定的,所以其实只需要通过get请求的params字典中的分页字段找到规律,就可以了。
(2).requests post请求
response = requests.post(
url = 请求url地址,
headers = 请求头字典,
data=请求数据字典,
)—response对象。
二.数据的分类
1.分类
(1).结构化数据:能用关系型数据库进行存储描述的数据
特点:数据有结构可言以行为单位,一行表示一个实体信息,每一行或列的数据属性是相同的
举例:关系型数据库中存储的数据表
处理方法:sql—结构化查询语言–可以在任意关系型数据库中对数据进行操作.
(2)半结构化数据:拥有自描述结构的数据
特点:包含相关标记,用来分隔语义以及对记录和字段进行分层–也称自描述结构
举例:html,xml,json(常用)
处理方法:正则.xpath(xml,html)
(3)非结构化数据:
特点:没有固定结构的数据.
举例:docx文档,图片,视频,音频等,都是通过整体存储的二进制格式进行保存.
处理: responce = request.get(资源的地址)
保存response.content即可,不需要转码,文件名称要注意对应

2.json介绍
(1).简介:json是一种数据交换格式.
(JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串)
(2).json数据的处理
a.使用json模块处理
json.loads(json数据)---->python数据
json.dumps(python数据)---->json数据
b.在request模块中request对象有个json方法,
可以直接得到相应的json字符串解析后的内容
三.会话技术cookie和session
1、什么是cookie和session?
cookie是网站用来辨别用户身份,进行会话跟踪,存储在本地终端上的数据。
session(会话)起来本含义是指有始有终的一系列动作和消息。在web中,session主要用来在服务器端存储特定用户对象会话所需要的信息。
2、cookie和session产生的原因:
http协议是一个无状态协议,在特定操作的时候,需要保存信息,进而产生了cookie和session。
3、cookie原理:
由服务器来产生,浏览器第一次请求,服务器发送给客户端进而保存。
浏览器继续访问时,就会在请求头的cookie字段上附带cookie信息,这样服务器就可以识别是谁在访问了。

		但是cookie存在缺陷:
			1、不安全--本地保存,容易被篡改。
			2、大小受限,本身最大4kb。
			
		cookie虽然在一定程度上解决了‘保持状态’的需求,但是我们希望有一种新的技术可以克服cookie缺陷,这种技术就是session。
	4、session原理:
		session在服务器保存。----解决安全问题。
		问题来了:服务器上的session,但是客户端请求发送过来,服务器如何知道session_a,session_b,到底和那个请求对应。
		所以为了解决这个问题:cookie就作为这个桥梁。在cookie有一个sessionid字段,可以用来表示这个请求对应服务器中的哪一个session。
		禁用cookie,一般情况下,session也无法使用。特殊情况下可以使用url重写技术来使用session。
			url重写技术:将sessionid拼接到url里面。
			
		session的生命周期:服务器创建开始,有效期结束(一般网站设定都是大约30分钟左右),就删除。
发布了7 篇原创文章 · 获赞 0 · 访问量 115

猜你喜欢

转载自blog.csdn.net/youzipier/article/details/104267684
今日推荐