Python requests模块用法详解
什么是requests模块
requests是一个第三方Python库,用于在Python中发送HTTP请求和处理响应。requests的设计非常简单、易于使用且稳定性好,因此成为Python爬虫领域中最常用的网络请求库之一。
使用requests
安装requests
使用pip安装requests库:
pip install requests
发送GET请求
requests.get是requests库中发送GET请求最常用的方法,其用法如下:
import requests
response = requests.get('http://httpbin.org/get')
print(response.text)
上述代码向URL http://httpbin.org/get 发送GET请求,并输出响应内容。
发送POST请求
requests.post是requests库中发送POST请求的方法,其用法如下:
import requests
data = {'username': 'test', 'password': 'test'}
response = requests.post('http://httpbin.org/post', data=data)
print(response.text)
上述代码向URL http://httpbin.org/post 发送POST请求,并向请求体中添加了用户名和密码。
添加请求头
requests允许我们添加请求头,例如User-Agent、Referer等等,以便定制我们的请求。添加请求头只需在请求方法中添加headers参数即可:
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
'Referer': 'http://httpbin.org/'
}
response = requests.get('http://httpbin.org/get', headers=headers)
print(response.text)
处理响应
当我们使用requests模块发送请求时,会返回一个响应对象。我们可以对这个响应对象进行操作,例如获取响应头、状态码、响应体等等。
import requests
response = requests.get('http://httpbin.org/get')
print(response.status_code) # 打印状态码
print(response.headers) # 打印响应头
print(response.text) # 打印响应内容
总结
以上仅是requests模块的基本使用,实际开发中我们还需要掌握更多的方法和技巧。掌握requests的使用可以为我们快速开发爬虫、接口测试等提供很好的帮助。
示例说明
示例一
需要使用requests向某个网站发送GET请求,获取HTML源码并对其进行解析,提取其中的信息。
import requests
from bs4 import BeautifulSoup
response = requests.get('https://www.python.org/')
soup = BeautifulSoup(response.text, 'html.parser')
news_list = soup.find_all('div', class_='list-recent-news')
for news in news_list:
print(news.h3.get_text(), news.p.get_text())
上述代码向URL https://www.python.org/ 发送GET请求,获取HTML源码,并使用BeautifulSoup解析,提取其中最近新闻的标题和内容。
示例二
需要使用requests向某个API接口发送POST请求,获取返回的JSON数据,并解析其中的内容。
import requests
data = {'username': 'test', 'password': 'test'}
response = requests.post('https://httpbin.org/post', data=data)
json_data = response.json()
print(json_data['form'])
上述代码向URL https://httpbin.org/post 发送POST请求,并向请求体中添加了用户名和密码,然后将返回的JSON数据解析,并打印其中的form项。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python requests模块用法详解 - Python技术站