Python教程

Python Requests库入门教程及资料汇总

本文主要是介绍Python Requests库入门教程及资料汇总,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
概述

本文详细介绍了requests库的内容,包括其基本概念、使用方法以及如何发送GET、POST等HTTP请求。文章还涵盖了处理HTTP响应、传递参数与数据、使用Cookies和Headers以及错误处理等实用技巧。通过这些内容,读者可以全面了解和掌握requests库的使用方法。

Requests库简介
Requests库的作用

Requests 是一个常用的 Python HTTP 客户端库,它简化了 HTTP 请求的发送过程,提供了简单易用的接口来处理 HTTP 请求和响应。Requests 库支持 GET、POST、PUT、DELETE 等多种 HTTP 方法,并且支持处理 Cookies 和 Headers,能够方便地发送和接收各种类型的 HTTP 数据。

安装Requests库的方法

要使用 Requests 库,首先需要安装它。可以通过 Python 的包管理工具 pip 来安装 Requests 库。以下是安装步骤:

pip install requests
Requests库的基本概念
  • Session 对象:用于持久化跨请求的数据。例如,同一个 Session 对象在发送多个请求时会保持相同的 Cookies。
  • Response 对象:表示服务器的响应,可以从中获取响应内容、状态码、Headers 等信息。
  • Request 对象:表示 HTTP 请求,可以设置 URL、Headers、数据等。

以下是这些对象的基本使用示例:

import requests

# 创建一个 Session 对象
session = requests.Session()

# 使用 Session 对象发送 GET 请求
response = session.get('https://api.github.com')
print(response.text)

# 通过 Session 对象发送 POST 请求
url = 'https://httpbin.org/post'
data = {'key': 'value'}
response = session.post(url, data=data)
print(response.text)
发送HTTP请求
GET请求的发送方法

使用 Requests 发送 GET 请求非常简单。以下是一个示例代码,展示了如何发送一个 GET 请求并获取响应内容:

import requests

response = requests.get('https://api.github.com')
print(response.text)

这段代码将发送一个 GET 请求到 https://api.github.com,并打印出响应的内容。

POST请求的发送方法

发送 POST 请求时,可以通过 requests.post 方法来实现。下面是一个示例代码,展示了如何发送一个包含数据的 POST 请求:

import requests

url = 'https://httpbin.org/post'
data = {'key': 'value'}
response = requests.post(url, data=data)
print(response.text)

这段代码将发送一个 POST 请求到 https://httpbin.org/post,并将 {'key': 'value'} 作为数据发送。

其他HTTP方法(PUT, DELETE等)的使用

除了 GET 和 POST,Requests 还支持其他 HTTP 方法,例如 PUT 和 DELETE。以下是一个使用 requests.put 发送 PUT 请求的示例:

import requests

url = 'https://httpbin.org/put'
data = {'key': 'value'}
response = requests.put(url, data=data)
print(response.text)

下面是一个使用 requests.delete 发送 DELETE 请求的示例:

import requests

url = 'https://httpbin.org/delete'
response = requests.delete(url)
print(response.text)
处理HTTP响应
获取响应内容

可以通过 response.text 获取响应的文本内容。以下是一个示例代码,展示了如何获取响应的内容:

import requests

response = requests.get('https://api.github.com')
print(response.text)
获取响应状态码

可以通过 response.status_code 获取响应的状态码。以下是一个示例代码,展示了如何获取响应的状态码:

import requests

response = requests.get('https://api.github.com')
print(response.status_code)
处理响应中的Cookies和Headers

获取Cookies

可以通过 response.cookies 获取响应中的 Cookies。以下是一个示例代码,展示了如何获取响应中的 Cookies:

import requests

response = requests.get('https://httpbin.org/cookies/set/sessioncookie/123456789')
print(response.cookies)

获取Headers

可以通过 response.headers 获取响应中的 Headers。以下是一个示例代码,展示了如何获取响应中的 Headers:

import requests

response = requests.get('https://api.github.com')
print(response.headers)
参数与数据的传递
URL参数的传递

可以通过 params 参数来传递 URL 参数。以下是一个示例代码,展示了如何传递 URL 参数:

import requests

url = 'https://httpbin.org/get'
params = {'key1': 'value1', 'key2': 'value2'}
response = requests.get(url, params=params)
print(response.text)
POST请求中数据的传递

通过 data 参数传递 POST 请求中的数据。以下是一个示例代码,展示了如何发送包含数据的 POST 请求:

import requests

url = 'https://httpbin.org/post'
data = {'key': 'value'}
response = requests.post(url, data=data)
print(response.text)
JSON数据的传递

通过 json 参数传递 JSON 数据。以下是一个示例代码,展示了如何发送包含 JSON 数据的 POST 请求:

import requests

url = 'https://httpbin.org/post'
data = {'key': 'value'}
response = requests.post(url, json=data)
print(response.text)
Cookies和Headers的使用
添加Cookies发送请求

可以通过 cookies 参数来添加 Cookies 发送请求。以下是一个示例代码,展示了如何添加 Cookies 发送请求:

import requests

url = 'https://httpbin.org/cookies/set/sessioncookie/123456789'
response = requests.get(url)
print(response.text)

url = 'https://httpbin.org/cookies'
response = requests.get(url, cookies={'cookie_name': 'cookie_value'})
print(response.text)
通过Headers自定义请求头

可以通过 headers 参数来自定义请求头。以下是一个示例代码,展示了如何自定义请求头发送请求:

import requests

url = 'https://httpbin.org/headers'
headers = {'User-Agent': 'my-app/0.4.0'}
response = requests.get(url, headers=headers)
print(response.text)
使用Session对象保持会话信息

通过 Session 对象可以保持会话信息,例如 Cookies。以下是一个示例代码,展示了如何使用 Session 对象保持会话:

import requests

s = requests.Session()
s.get('https://httpbin.org/cookies/set/sessioncookie/123456789')
response = s.get('https://httpbin.org/cookies')
print(response.text)
错误处理
捕获和处理常见的HTTP错误

可以通过 response.raise_for_status() 方法来捕获 HTTP 错误。以下是一个示例代码,展示了如何捕获和处理 HTTP 错误:

import requests

response = requests.get('https://httpbin.org/status/404')
try:
    response.raise_for_status()
except requests.exceptions.HTTPError as error:
    print(f"HTTP error occurred: {error}")
错误码的含义及解析

HTTP 状态码用于描述请求的状态。以下是一些常见的 HTTP 状态码及其含义:

  • 200 OK:请求成功。
  • 400 Bad Request:请求有语法错误或无法解析。
  • 401 Unauthorized:请求需要用户认证。
  • 403 Forbidden:服务器理解请求但拒绝执行。
  • 404 Not Found:服务器找不到请求的资源。
  • 500 Internal Server Error:服务器内部错误。

通过 response.status_code 可以获取响应的状态码,并根据状态码进行相应的错误处理。

这篇关于Python Requests库入门教程及资料汇总的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!