Requests库详细用法
1. 基于urllib的简单的http库
2. 实例
import requests response=requests.get('http://www.xxx.com') print(type(response)) print(response.status_code) print(response.cookies)
3. 请求方式:
import requests requests.post('网址') data={ #添加参数,字典类型 'name':'spencer', 'age':28 } response=requests.get('网址', params=data)
4. 解析json:
response=requests.get('http://www.xxx.com') print(response.json()) print(json.loads(response.text))
5. 获取二级制数据
response=requests.get('http://www.xxx.com/xxx/ico') print(response.content) #打印二进制内容 with open('图标名称','wb') as f #设置图标参数 f.write(response.content) #保存图标
6. 添加headers:
import requests headers={ 'user-agent':'xnxnxnxxnxnxxnxnxnxnxxn' #添加自己的主机名 } response=requests.get('http://www.xxx.com',headers=headers)
7.文件上传:
files={"file": open('文件名',"rb")} response=requests.post('上传的地址', files=files) print(response.text)
8. 获取cookies
response=requests.get('http://www.xxx.com') print(response.cookies) for key, value in response.cookies.items(): print(key+'='+value)
9.会话维持:模拟登陆
s=requests.Session() s.get('http//xxx.com/cookies/set/number/123456') response=s.get('http://xxx.com/cookies') print(response.text)
10. 证书验证
response=requests.get('http://www.xxx.com',verify=False)
11. 代理设置:
import requests proxies={ 'http':'http//xxx' 'https':'https://xxx' } response=requests.get('http://www.xxx.com',proxies=proxies)
12. 超时设置:
from requests.exceptions import ReadTimeout try #超出时间设置 response=requests.get('http://www.xxx.com',timeout=1) except ReadTimeout print('timeout') #超出时间的打印timeout
13.认证设置:
response=requests.get('http://www.xxx.com',auth=('user','123'))
14.异常处理:
try #处理异常 response=requests.get('http://www.xxx.com',timeout=1) except ReadTimeout