Requests库从入门到放弃
一个很牛逼的http库,就这样子
1.get,post,cookie,header是什么还说么?直接上代码
2.安装requests库
pip install requests
3.get方法使用
import requests
r = requests.get('https://github.com/timeline.json')
print r.text
4.post方法使用
(1)普通post请求发送数据
import requests
#传递的数据用字典表示
payload = {'username':'xiaoming','password':'123456'}
r = requests.post('https://github.com/timeline.json',data=payload)
print r.text
(2)post请求发送文件(文件上传)
url = 'http://httpbin.org/post'
files = {'file': open('report.xls', 'rb')}
r = requests.post(url, files=files)
print r.text
5.返回值的说明
r.text
#Requests 会使用基于 HTTP 头部对响应的编码作出有根据的推测,就是编码好的文本内容
r.content
#Requests的返回二进制内容
r.json
#Requests的内置json解析器,如果返回的是json内容
6.定制请求头
为请求添加头部,给headers参数传递进去一个字典就好了
url = 'https://api.github.com/some/endpoint'
headers = {'user-agent': 'my-app/0.0.1'}
r = requests.get(url, headers=headers)
print r.text
7.返回状态码的说明
r = requests.get('http://httpbin.org/get')
print r.status_code
8.带cookie的请求
url = 'http://httpbin.org/cookies'
#working就是实际通过浏览器抓到的一大坨的cookie的东西,cookies_are是固定格式,必须写
cookies = dict(cookies_are='working')
r = requests.get(url, cookies=cookies)
print r.text
#获取响应中的cookie
url = 'http://example.com/some/cookie/setting/url'
r = requests.get(url)
print r.cookies['example_cookie_name']
9.超时(不管什么网络库都有超时对不对)
#timeout=5
#在经过以 timeout参数设定的秒数时间之后停止等待响应,抛异常
requests.get('http://github.com', timeout=5)