- 05 Response对象的text属性可以获取HTML代码
- 5.1 Response.text 可以获取HTML代码
- 5.1.1 访问百度网页
- 5.1.2 访问优美图库
- 5.2 总结
之前说过浏览器向服务器发送请求,服务器会给浏览器一个响应。
通常服务器返回给浏览器的响应内容,
主要包含了响应状态码、响应头和响应体等信息。
响应的正文数据都在响应体中。
当我们人工访问网站成功后,我们看到的是布局好的图片和文字。
当Python访问网站成功后,我们查看它的text属性,
我们看到的是网页的 HTML 代码。
服务器返回响应的正文数据都在响应体中。
响应体=网页的 HTML 代码
调用text属性相当于人工访问网页时的查看【网页源代码】。
查看网页源代码有2种方式:
方法1:按【F12】快捷键;
方法2:鼠标右键,然后选择【查看网页源代码】。
# 导入访问网页要用的库
import requests
# 申明一个变量存储网址
# 网址是一个字符串变量,注意网址前后都必须有引号
url = 'https://www.baidu.com/'
# 用requests.get(网址)访问网页
# 库名.函数名(要访问的网址)
print('*requests.get(url)函数得到的是一个Response对象*')
print(requests.get(url),'n')
print('*打印Response对象的status_code属性,即状态码*')
print(requests.get(url).status_code,'n')
print('*type查看Response对象的text属性的类型*')
print(type(requests.get(url).text),'n')
print('*打印Response对象的text,即html代码*')
print(requests.get(url).text)
【终端输出】
*requests.get(url)函数得到的是一个Response对象**打印Response对象的status_code属性,即状态码* 200 *type查看Response对象的text属性的类型* *打印Response对象的text,即html代码* ç™¾åº¦ä¸€ä¸‹ï¼Œä½ å°±çŸ¥é“
注意:因篇幅受限,上述HTML代码仅截取部分内容。
代码运行后,我们可以看到 requests.get(url).text 可以得到HTML代码的字符串形式。
但我们发现得到的HTML代码是一堆我们看不懂的乱码。
出现上述问题的原因主要是字符编码格式的问题。
在Python中requests库默认的字符编码是英文的。
我们这里访问的百度网页是中文网页,所以出现了我们看不懂的乱码。
但我们只需要把字符编码格式要设置为中文的,我们就能得到我们能看懂的HTML代码了。
# 导入访问网页要用的库
import requests
# 申明一个变量存储网址
# 网址是一个字符串变量,注意网址前后都必须有引号
url = 'https://www.umei.cc/'
# 用requests.get(网址)访问网页
# 库名.函数名(要访问的网址)
print('*requests.get(url)函数得到的是一个Response对象*')
print(requests.get(url),'n')
print('*打印Response对象的status_code属性,即状态码*')
print(requests.get(url).status_code,'n')
print('*type查看Response对象的text的类型*')
print(type(requests.get(url).text),'n')
print('*打印Response对象的text属性,即html代码*')
print(requests.get(url).text)
【终端输出】
*requests.get(url)函数得到的是一个Response对象*5.2 总结*打印Response对象的status_code属性,即状态码* 200 *type查看Response对象的text的类型* *打印Response对象的text属性,即html代码* ã€ä¼˜ç¾Žå›¾åº“】美å



