p y t h o n 的 r e q u e s t s 库 python的requests库 python的requests库
官网:https://docs.python-requests.org/zh_CN/latest/index.html
作用:发送网络请求,返回响应数据
为什么要学习requests,而不是urllib?
- requests的底层实现就是urllib
- requests在python2和python3中通用,方法完全一样
- requests简单易用
- Requests能够自动帮助我们解压(gzip压缩的等)网页内容
Urllib 库,它是 Python 内置的 HTTP 请求库,
import requests
r = requests.get('https://api.github.com/events')
名为 r 的 response对象
response的常用方法:
- response.text
- respones.content
- response.status_code
- response.request.headers
- response.headers
实例代码
import requests
r = requests.get('https://api.github.com/events')
名为 r 的 Response 对象
r = requests.post('http://httpbin.org/post', data = {'key':'value'})
r = requests.put('http://httpbin.org/put', data = {'key':'value'})
r = requests.delete('http://httpbin.org/delete')
r = requests.head('http://httpbin.org/get')
r = requests.options('http://httpbin.org/get')
两种解析网页返回字符串的方式r.text
和r.content
import requests
r = requests.get('https://www.baidu.com/')
print(r.text)
print(r.encoding)
r.encoding="utf-8"
print(r.encoding)
print(r.text)
print(r.content) # bytes型数据,需要decode
print(r.content.decode())
推荐使用二进制的content来获取原生数据
r.content.decode()
requests保存图片
import requests
r = requests.get("https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png")
with open("test.png","wb") as f:
f.write(r.content)