- 06 Response对象的encoding属性修改字符编码格式
- 6.1 常见的中文字符编码格式
- 6.2 查看网页的编码格式
- 6.3 r.encoding = 'uft-8' 修改字符编码格式
- 6.3.1 访问百度网页
- 6.4 总结
- 6.4.1. 语法总结
- 6.4.2. 获取网页的步骤
- 6.4.3. 访问中国文库网
当我们调用Response对象的text属性后,
响应的内容暨返回的html代码有时候是乱码。
这时我们将Response对象的encoding属性设置为中文字符的编码格式,
响应内容就可以正常显示了。
encoding英 [ɪnˈkəʊdɪŋ]:编码。
常用的中文字符编码格式有以下三种:
encoding = ‘gbk’
encoding = ‘utf-8’
encoding = ‘utf-8-sig’
不懂字符编码格式的可以百度了解。
6.2 查看网页的编码格式步骤1:打开开发者工具
方法1:按【F12】快捷键打开;
方法2:鼠标右键,然后选择【查看网页源代码】。
步骤2:鼠标点击【控制台】或【Console】。
步骤3:在最下方的>前输入【document.charset】 下方显示的就是字符编码格式。
爬虫中响应的编码格式可以人工在【网页源代码】中查询,
也可以通过枚举法对三个常用的字符编码格式挨个去试。
# 导入访问网页要用的库
import requests
# 申明一个变量存储网址
# 网址是一个字符串变量,注意网址前后都必须有引号
url = 'https://www.baidu.com/'
print('*requests.get(url)函数得到的是一个Response对象*','n')
# 用requests.get(网址)访问网页
# 库名.函数名(要访问的网址)
# 发送请求,并把响应结果赋值给变量r
r = requests.get(url)
print('*打印Response对象的status_code属性,即状态码*')
print(r.status_code,'n')
# 将响应内容的字符编码格式设置为utf-8
r.encoding = 'utf-8'
# 调用Response对象的text属性,获取响应内容
r_text = r.text
print('*type查看Response对象的text的类型*')
print(type(r_text ),'n')
print('*打印响应内容*','n',r_text)
【终端输出】
*requests.get(url)函数得到的是一个Response对象* *打印Response对象的status_code属性,即状态码* 200 *type查看Response对象的text的类型**打印响应内容* 百度一下,你就知道
【温馨提示】篇幅受限,HTML代码仅显示部分内容。
当我们用r.encoding = 'utf-8’将响应内容的字符编码格式设置为utf-8后,
然后调用r对象的text属性,我们得到的就是我们能看懂的HTML代码了。
import requests url = 'https://www.baidu.com/' r = requests.get(url) # 获取网页: 库.函数(参数)得到一个response对象 r.status_code # 对象.属性 r.status_code r.encoding = 'utf-8' # 对象.属性 r.encoding = 'utf-8' 注意字符编码要放在引号里 r.text # 对象.属性 r.text
requests.get(url)得到一个response对象
response对象的3个属性:
对象.属性 r.status_code
对象.属性 r.encoding = ‘utf-8’ 注意字符编码要放在引号里
对象.属性 r.text
爬虫的第一步是获取网页。
获取网页主要有以下6步:
1.找到要爬取的网址;
2.找到网站的字符编码格式;
3.发送网络请求;
4.打印状态码检验请求是否成功;
5.修改字符编码格式;
6.查看HTML代码。
# 写代码时通常把要用的库写在最上方 # 导入访问网页要用的库 import requests # 1.找到要爬取的网址: url = 'https://www.chinawenwang.com/'# 网址是一个字符串变量,注意网址前后都必须有引号 # 2.找到网站的编码格式:utf-8 # 3.发送网络请求; r = requests.get(url) # 用requests.get(网址)访问网页 # 4.打印状态码检验请求是否成功 print(r.status_code,'n') #Response对象的status_code属性可以获取响应状态码 #5.修改字符编码格式; r.encoding = 'utf-8' #encoding = 'uft-8' 修改字符编码格式 # 6.查看HTML代码 print(r.text)
【终端输出】
200
中国文库网-教育资源网,范文,语文,范文大全,论文,论文范文



