python常用模块之requests

  • Post category:other

Python常用模块之requests

requests是Python中一个常用的HTTP库,它可以方便地发送HTTP请求和处理HTTP响应。本文将提供一个完整的攻略,介绍如何使用requests模块,并提供两个示例说明。

安装requests

可以使用以下命令安装requests模块:

pip install requests

发送HTTP请求

可以使用requests模块发送HTTP请求。以下是一个发送GET请求的示例:

import requests

response = requests.get('https://www.example.com')
print(response.text)

在这个示例中,requests.get方法发送了一个GET请求,并返回了响应对象。response.text属性包含了响应的内容。

以下是一个发送POST请求的示例:

import requests

data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('https://www.example.com', data=data)
print(response.text)

在这个示例中,requests.post方法发送了一个POST请求,并将data作为请求体发送。response.text属性包含了响应的内容。

处理HTTP响应

requests模块返回的响应对象包含了HTTP响应的各种信息。以下是一些常用的响应对象属性和方法:

  • response.status_code:HTTP状态。
  • response.headers:HTTP响应头。
  • response.text:HTTP响应内容。
  • response.json():将HTTP响应内容解析为JSON格式。

以下是一个处理HTTP响应的示例:

import requests

response = requests.get('https://www.example.com')
print(response.status_code)
print(response.headers)
print(response.text)
print(response.json())

在这个示例中,response.status_code属性包含了HTTP状态码,response.headers属性包含了HTTP响应头,response.text属性包含了HTTP响应内容,response.json()方法将HTTP响应内容解析为JSON格式。

示例1:使用requests获取天气信息

在这个示例中,我们将使用requests模块获取天气信息。可以按照以下步骤实现:

  1. 导入requests模块。

  2. 使用以下代码发送HTTP请求:

“`python
import requests

url ‘https://www.tianqiapi.com/api/’
params = {‘version’: ‘v1’, ‘city’: ‘北京’, ‘appid’: ‘123456’, ‘appsecret’: ‘789012’}
response = requests.get(url, params=params)
“`

在这个代码中,url是API的URL,params是请求参数。

  1. 处理HTTP响应,获取天气信息:

“`python
import requests

url = ‘https://www.tianqiapi.com/api/’
params = {‘version’: ‘v1’, ‘city’: ‘北京’, ‘appid’: ‘123456’, ‘appsecret’: ‘789012’}
response = requests.get(url, params=params)

weather = response.json()
print(weather[‘city’])
print(weather[‘data’][0][‘wea’])
“`

在这个代码中,response.json()方法将HTTP响应内容解析为JSON格式,weather变量包含了天气信息,weather['city']获取了城市名称,weather['data'][0]['wea']获取了当天的天气情况。

示例2:使用requests下载文件

在这个示例中,我们将使用requests模块下载文件。可以按照以下步骤实现:

  1. 导入requests模块。

  2. 使用以下代码发送HTTP请求:

“`python
import requests

url = ‘https://www.example.com/file.zip’
response = requests.get(url)
“`

在这个代码中,url是文件的URL。

  1. 将文件保存到本地:

“`python
import requests

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

with open(‘file.zip’, ‘wb’) as f:
f.write(response.content)
“`

在这个代码中,response.content属性包含了文件的内容,with open('file.zip', 'wb') as f打开文件并以二进制模式写入文件。

结语

requests模块是Python中一个常用的HTTP库,它可以方便地发送HTTP请求和处理HTTP响应。本文介绍了requests模块的安装、发送HTTP请求、处理HTTP响应等方面,并提供了两个示例说明。