《2018年7月11日》【连续282天】
标题:request复习及补充;
内容:
1.昨天漏掉的:
标准链接格式:
scheme://netloc/path;params?query#fragment
2.用request抓取二进制数据:
import requests
r =requests.get("https://github.com/favicon.ico")
print(r.text)
print(r.content)
该方法运行后,r.text的结果有乱码,后者则是一串二进制数据;
import requests
r =requests.get("https://github.com/favicon.ico")
with open('favicon.ico','wb') as f:
f.write(r.content)
使用open方法;
3.利用session来处理同一个会话,当我们使用两次请求时,产生的是不同的会话,要想使会话相同,可以使用Session对象;
4.访问sslerror的网站,及证书验证错误的网站,
import requests
response =requests.get('https://www.12306.cn')
print(response.status_code)
当把verify改为false,然后在把弹出的警告忽略掉:
import requests
from requests.packages import urllib3
urllib3.disable_warnings()
response =requests.get('https://www.12306.cn',verify=False)
print(response.status_code)
5.身份验证:
from requests.auth import HTTPBasicAuth
r =requests.get('url',auth=HTTPBasicAuth('username','password'))
也可直接写成:
r =requests.get('url',auth=('username','password'))
不输出HTTPBasicAuth类。requests会默认使用这个类;
其他验证方法可以使用 OAuth认证;