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
模块获取天气信息。可以按照以下步骤实现:
-
导入
requests
模块。 -
使用以下代码发送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
是请求参数。
- 处理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
模块下载文件。可以按照以下步骤实现:
-
导入
requests
模块。 -
使用以下代码发送HTTP请求:
“`python
import requests
url = ‘https://www.example.com/file.zip’
response = requests.get(url)
“`
在这个代码中,url
是文件的URL。
- 将文件保存到本地:
“`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响应等方面,并提供了两个示例说明。