接下来我们要来玩一个新的库
这个库的名称叫做
Requests
这个库比我们上次说的 urllib 可是要牛逼一丢丢的
毕竟 Requests 是在 urllib 的基础上搞出来的
通过它我们可以用更少的代码
模拟浏览器操作
kr
对于不是 python 的内置库
我们需要安装一下
直接使用 pip 安装
pip install requests
安装完后就可以使用了
接下来就来感受一下 requests 吧
导入 requests 模块
import requests
#一行代码get请求
#r=requests.get('https://api.github.com/events')
#r=requests.get('https://http://www.baidu.com')
r=requests.get('http://biihu.cc//account/ajax/login_process/')
#一行代码Post请求
r=requests.get("https://api.github.com/events",data={'key':'value'}
)
#其它乱七八槽的HTTP请求
r=requests.put('https://httphin.org/put',data={'key':'value'})
r=requests.delete('https://httpbin.org/delete')
r=requests.head('https://httpbin.org/get')
r=requests.options('https://httpbin.org/get')
payload={'key1':'value1','key2':'value2'}
r=requests.get('https://httpbin.org/get',params=payload)
url='https://api.github.com/some/endpoint'
headers={'user-agent':'my-app/0.0.1'}
r=requests.get(url,headers=headers)
#获取服务器响应文本内容
import requests
r=requests.get('https://api.github.com/events')
r.text
r.encoding
#获取字节响应内容
r.content
#获取响应码
r=requests.get('https://httpbin.org/get')
r.status_code
#获取响应头
r.headers
#获取Json响应内容
import requests
r=requests.get('https://api.github.com/events')
r.json()
#获取socket流响应内容
r=requests.get('https://api.github.com/events', stream=True)
r.raw
r.raw.read(10)
#Post请求,当你想要一个键里面添加多个值的时候
payload_tuples = [('key1', 'value1'), ('key1', 'value2')]
r1 = requests.post('https://httpbin.org/post', data=payload_tuples)
payload_dict = {'key1': ['value1', 'value2']}
r2 = requests.post('https://httpbin.org/post', data=payload_dict)
print(r1.text)
r1.text == r2.text
#请求的时候用json作为参数
url='https://api.github.com/some/endpoint'
payload={'some':'data'}
r=requests.post(url,json=payload)
r.text
#获取cookie信息
url='http://example.com/some/cookie/setting/url'
r=requests.get(url)
r.cookies['example_cookie_name']
#发送信息
url='https://httpbin.org/cookies'
cookies=dict(cookies_are='working')
r=requests.get(url,cookies=cookies)
r.text
#设置超时
requests.get('https://github.com/',timeout=0.001)