requests快速入门

requests是一个对开发人员非常友好的http库,它接口简单,灵活易用,平日里写爬虫程序,我便直接使用requests发送http请求,本文带你快速了解这个库的基本用法: 发送get请求, 发送post请求, 下载图片, 获取json数据等

1. 发送get请求

import requests

res = requests.get('http://www.baidu.com')
print(res.status_code)   # 服务器响应状态码
print(res.text)

status_code是Response状态码,200表示服务器成功响应,res.text是返回的html源码

2. 下载图片

from PIL import Image
from io import BytesIO
import requests

res= requests.get('https://car2.autoimg.cn/cardfs/product/g30/M02/CE/06/1024x0_1_q95_autohomecar__ChcCSVxizROACoEpAAWmLWEQMgQ024.jpg')
print(res.status_code)
i = Image.open(BytesIO(res.content))
i.show()

content是Response数据的2进制形式,text是字符串形式,使用Image的show方法可以直接显示图片

3. 获取json数据

import requests


res = requests.get('https://api.github.com/events')
print(res.json())

如果返回的数据是json格式的,那么可以直接使用json方法来获取数据,这样就不需要使用json.loads方法将res.text转换为python类型数据了

4. 发送post请求

import requests

payload = {'name': '小明', 'age': '14'}
res = requests.post("http://httpbin.org/post", data=payload)
print(res.text)

httpbin.org 这个网站可以测试http请求和响应的各种信息,可以作为练习使用

5. SSL验证

requests可以想web浏览器那样为https请求验证SSL证书

import requests

print(requests.get('https://github.com', verify=True))

如果网站的SSL证书有问题,请求将会失败

6. 查看http响应的header信息

import requests

res = requests.get('http://www.baidu.com')
print(res.headers)

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案