Python3 Request库使用介绍

简介

在网络爬虫、数据采集、API调用等场景中,我们经常需要发送HTTP请求并获取返回的数据。Python的requests库是一个非常流行和强大的HTTP请求库,它提供了简洁而强大的API,使得发送HTTP请求变得异常简单。

在本文中,我们将介绍requests库的基本用法,并通过一些代码示例来帮助您快速上手。

安装

使用requests库之前,我们需要先安装它。可以通过以下命令使用pip进行安装:

$ pip install requests

发送GET请求

发送GET请求是最常见的HTTP请求方法之一,requests库提供了get函数来发送GET请求。下面是一个简单的示例:

import requests

# 发送GET请求
response = requests.get('

# 打印响应内容
print(response.text)

上述代码中,我们使用requests.get函数发送了一个GET请求到`

发送POST请求

除了发送GET请求,我们还经常需要发送POST请求来提交数据。requests库提供了post函数来发送POST请求。下面是一个示例:

import requests

# 发送POST请求
data = {
    'username': 'john',
    'password': 'secret'
}
response = requests.post(' data=data)

# 打印响应内容
print(response.text)

上面的代码中,我们使用requests.post函数发送了一个POST请求到`

处理响应

requests库提供了一系列方法来处理HTTP响应。下面是一些常用的方法:

  • response.status_code:获取HTTP响应的状态码
  • response.headers:获取HTTP响应的头信息
  • response.text:获取HTTP响应的文本内容
  • response.json():将HTTP响应的内容解析为JSON格式
  • response.content:获取HTTP响应的二进制内容
import requests

# 发送GET请求
response = requests.get('

# 获取状态码
status_code = response.status_code
print(f'Status Code: {status_code}')

# 获取头信息
headers = response.headers
print(f'Headers: {headers}')

# 获取文本内容
text = response.text
print(f'Text: {text}')

# 解析为JSON
json_data = response.json()
print(f'JSON: {json_data}')

# 获取二进制内容
content = response.content
print(f'Content: {content}')

错误处理

在发送HTTP请求时,可能会遇到各种错误。requests库提供了一些方法来处理这些错误,确保我们能够及时发现并处理问题。下面是一个示例:

import requests

try:
    # 发送GET请求
    response = requests.get('
    
    # 检查状态码
    if response.status_code == 200:
        # 处理响应
        print(response.text)
    else:
        # 输出错误信息
        print(f'Request failed - Status Code: {response.status_code}')
except requests.exceptions.RequestException as e:
    # 输出异常信息
    print(f'Request failed - Exception: {str(e)}')

在上述代码中,我们使用try-except语句来捕获可能发生的异常。如果请求成功(状态码为200),我们将处理响应;否则,我们将输出错误信息。

总结

requests库是一个非常强大的HTTP请求库,它提供了简洁而强大的API,使得发送HTTP请求变得异常简单。本文介绍了requests库的基本用法,并通过示例代码演示了如何发送GET和POST请求,处理响应和错误。

希望本文能够帮助您快速上手requests库,并在您的项目中使用它来发送HTTP请求。

参考

  • [requests官方文档](