requests模块用法总结

requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到

之前没有记录这个模块的使用方法,现在补充记录下

首先我们安装这个模块

pip install requests

然后主要的用法以下几种

post/get请求

r = requests.get("http://www.sulao.cn/")

 我们可以传参进去

通常,你想要发送一些编码为表单形式的数据—非常像一个HTML表单。 要实现这个,只需简单地传递一个字典给 data 参数。你的数据字典 在发出请求时会自动编码为表单形式

param = {
    key1: value1,
    key2: value2
}
r = requests.get(", data=param)

我们也可以在header中携带信息进去

headers = {
    "Content-Type": "application/json",
}
r = requests.get("http://www.sulao.cn/", data=param, headers=headers)

r.text 返回headers中的编码解析的结果,可以通过r.encoding = 'gbk'来变更解码方式

r.content返回二进制结果

r.json()返回JSON格式,可能抛出异常

r.status_code

r.raw返回原始socket respons,需要加参数stream=True

POST和GET用法基本一样

下载图片

r = requests.get("https://sulao.cn/zb_users/upload/2019/01/201901171547691686645594.jpg") 
with open("test.jpg", "wb") as f:
    f.write(f.content)

传递文件

files = {'file': open('record.log', 'rb')}
r = requests.get("http://www.sulao.cn/", files=files)

配置files,filename, content_type and headers

files = {'file': ('record.log', open('record.log', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}
files = {'file': ('record.log', 'some,data,to,send\nanother,row,to,send\n')}


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/681.html