目录
类Response中的方法:
1.Response的属性
2.设置编码
3.返回网页内容
关于获取网页,可以使用get()函数来实现,而当获取网页内容后,由于网页的多样性,还需要对网页返回的Response对象进行设置。
类Response中的方法:
1.Response的属性
包含的属性有:status_code、headers、url、encoding、cookies等
- status_code(状态码):
当获取一个HTML网页时,网页所在的服务器会返回一个状态码,表明本次获取网页的状态。
常见的HTTP(超文本传送协议)状态码有:
200(请求成功)、
301(网页内容被永久转移到其他url)、
404(请求的网页不存在:两种原因-->1.网址错误 2. 访问的服务器不存在或者是不工作的关机状态)、
505(内部服务器错误)等
代码示例:
'''判断服务器返回的状态码是否为200'''
import requests
r=requests.get("https://www.ptpress.com.cn/")#该url网页示例为人民邮电出版社的网页地址
print(r.status_code)#输出Response对象返回的状态码
if r.status_code==200:
'''判断状态码是否为200,如果为200则输出获取的网页内容,否则表明访问异常'''
print(r.text)
else:
print("本次访问失败")
- headers(响应头):
服务器返回的附加信息,主要包括服务器传递的数据类型、使用的压缩方法、语言、服务器的信息、相应该请求的时间等。
- url:
响应的最终url位置。
- encoding
访问r.text时使用的编码。
- cookies
服务器返回的文件。(这是服务器为辨别用户身份,对用户操作进行会话跟踪而存储在用户本地终端上的数据。)
2.设置编码
当访问一个网页时,如果访问的内容时乱码,这是由于网页读取编码错误导致的,可以通过设置requests.get(url)返回的Response对象的encoding='utf-8'来修改”response对象.text"文本内容的编码方式。
Response对象中也提供了apparent_encoding()方法来自动识别网页的编码方式。此方法为机器识别,因此可能会出现识别错误的情况。(但是大多数情况可用)
设置自动识别网页的编码方式的使用形式:
Response对象.encoding=Response对象.apparent_encoding
示例代码:
'''设置编码'''
import requests
r=requests.get('此处填入'人民邮电出版社'.com')
r.encoding=r.apparent_encoding#设置自动识别网页的编码方式
print(r.text)
设置自动识别编码方式后,执行代码中的输出结果中将包含可识别的文字,而不再是乱码。如果依然出现内容乱码,读者需要自行设置encoding编码方式。
3.返回网页内容
有两种,分别是text()方法和content()方法。
- text()方法:
以字符串的形式返回网页内容。
- content()方法:
以二进制的形式网页内容。常用于直接保存网页中的媒体文件。
示例代码:
'''返回网页内容'''
import requests
r=requests.get('https://cdn.ptpress.cn/uploadimg/Material/978-7-115-57804-4/72jpg/57804_s300.jpg')#使用get方法访问图片url
f2=open('a.jpg','wb')#使用open()函数创建了一个'a.jpg'文件,并且设置以二进制写入的模式。
f2.write(r.content)#将获取的url内容以二进制形式写入文件
f2.close()
代码执行结果将在代码所在的python文件的地址路径下面存储一张图片,并命名为a,属性为jpg。
如下:
介绍结束啦...
xue