1.Response对象r.text和r.content的区别:
#r = requests.get("https://www.baidu.com")
- r.text 返回的是响应内容的字符串
- r.content 返回的是响应内容的二进制形式
2.Response的编码问题:
- r.encoding:从返回对象的header中提取charset字段,存储为encoding;若charset不存在,则认为编码为 ISO-8859-1
- r.apparent_encoding: 根据网页内容分析出的编码方式,更加准确
3.r.raise_for_status() #如果状态不是200,引发HTTPError异常
try:
r = requests.get(url, timeout=10)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return "产生异常"
4.requests.request(get, url, **kwargs)
的13个访问控制参数
-
params
-
data
-
json
-
headers
-
cookies
-
auth
-
files
-
timeout
-
proxies
-
allow_redirects
-
stream
-
verify
-
cert
requests.get(url, params= None, **kwargs)
同上