python爬虫requests库简明教程

 

当您需要使用Python编写程序从Web服务器请求数据时,Requests库是一个非常常用而且方便的第三方库。Requests库可以支持HTTP和HTTPS协议,并且可以处理URL参数、表单数据、JSON和XML数据等。同时,Requests库还支持Cookie、HTTP认证、HTTPS验证等功能。

以下是Requests库的一些基本用法:

### 发送HTTP请求

您可以使用`requests.get()`、`requests.post()`、`requests.put()`、`requests.delete()`等方法发送HTTP请求。这些方法的用法与HTTP协议中的GET、POST、PUT、DELETE等方法相对应。其中,`requests.get()`方法用于发送GET请求,`requests.post()`方法用于发送POST请求,其余方法类推。

“`

import requests

# 发送HTTP GET请求

response = requests.get(‘https://www.example.com’)

# 发送HTTP POST请求

data = {‘key1’: ‘value1’, ‘key2’: ‘value2’}

response = requests.post(‘https://www.example.com’, data=data)

“`

### 传递URL参数

您可以使用`params`参数向URL中传递参数。该参数应该是一个字典或者一个可迭代的对象,其中包含了键值对。Requests库会将这些参数添加到URL的末尾,并自动进行URL编码。

“`python

import requests

params = {‘key1’: ‘value1’, ‘key2’: ‘value2’}

response = requests.get(‘https://www.example.com’, params=params)

### 发送POST请求的表单数据

如果您要发送POST请求,并且需要使用表单数据作为请求体,可以使用`data`参数。该参数应该是一个字典或者一个可迭代的对象,其中包含了键值对。Requests库会自动将该字典转换为表单数据,并添加到请求体中。

“`python

import requests

data = {‘key1’: ‘value1’, ‘key2’: ‘value2’}

response = requests.post(‘https://www.example.com’, data=data)

 

### 发送JSON数据

如果您要发送JSON数据作为请求体,可以使用`json`参数。该参数应该是一个Python对象,可以是字典、列表等。Requests库会自动将该对象转换为JSON数据,并将其添加到请求体中。

“`python

import requests

import json

data = {‘key1’: ‘value1’, ‘key2’: ‘value2’}

json_data = json.dumps(data)

response = requests.post(‘https://www.example.com’, json=json_data)

 

### 发送文件

如果您要发送文件作为请求体,可以使用`files`参数。该参数应该是一个字典,其中包含了键值对,键表示文件名,值表示要上传的文件。Requests库会自动将该字典转换为文件流,并将其添加到请求体中。

“`python

import requests

files = {‘file’: open(‘example.txt’, ‘rb’)}

response = requests.post(‘https://www.example.com’, files=files)

“`

### 自定义请求头

如果您需要自定义请求头,可以使用`headers`参数。该参数应该是一个字典,其中包含了键值对,键表示请求头的名称,值表示请求头的值。

“`python

import requests

headers = {‘User-Agent’: ‘Mozilla/5.0’}

response = requests.get(‘https://www.example.com’, headers=headers)

“`

### 使用Cookie

如果您需要使用Cookie,可以使用`cookies`参数。该参数应该是一个字典,其中包含了键值对,键表示Cookie的名称,值表示Cookie的值。

“`python

import requests

cookies = {‘session_id’: ‘1234567890’}

response = requests.get(‘https://www.example.com’, cookies=cookies)

“`

Requests库还提供了其他更高级的功能,如会话(Session)、代理(Proxies)等。使用Requests库可以方便地实现许多Web应用程序的功能。

 

 

未经允许不得转载:445IT之家 » python爬虫requests库简明教程

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏