requests
import requests
response=requests.get(“http://www.baidu.com/“)
一、response的属性:
print(response) #
response.status_code
http请求的返回状态,2XX 表示连接成功,3XX 表示跳转 ,4XX 客户端错误 , 500 服务器错误
response.text
http响应内容的字符串(str)形式,请求url对应的页面内容
response=requests.get("http://www.baidu.com/")
print(response.text)
打印出的内容含有乱码:
<title>ç™¾åº¦ä¸€ä¸‹ï¼Œä½ å°±çŸ¥é“</title>
修改如下, 改变下载得到的页面的编码,就可以正常打印出”友好的”文本了:
response.encoding="utf-8"
print(response.text)
小结 : 更改编码使用:response.encoding=”utf-8” 或者 response.encoding=”gbk”
具体要看你请求的网页是用什么方式编码的,针对不同情况用对应的编码方式.
比如下面这个例子, 不用编码也可以打印正常文本 ,如果你还是用response.encoding=”utf-8” ,反而会出现乱码
response =requests.get("http://www.qq.com/")
print(response.text)
------------------或者-----------------------
response =requests.get("http://www.qq.com/")
response.encoding="gbk"
print(response.text)
response.content
HTTP响应内容的二进制(bytes)形式
response =requests.get("http://www.baidu.com/")
# print(response.content) #打印出的是二进制形式
print(response.content.decode("utf-8"))
response =requests.get("http://www.qq.com/")
# print(response.content) #打印出的是二进制形式
print(response.content.decode("gbk"))
小结:更改编码使用 response.content.deocde(“utf8”)
更推荐使用response.content.deocde()的方式获取响应的html页面.
response.encoding
从HTTP header中猜测的响应内容编码方式
response.apparent_encoding
从内容分析出的响应内容的编码方式(备选编码方式)
response.headers
http响应内容的头部内容