Python的requests库是一个强大且易于使用的HTTP库,用于发送HTTP请求和处理响应。它是Python中最受欢迎的网络爬虫框架之一,被广泛用于从网页中提取数据、爬取网站和进行API调用。
使用requests库,你可以轻松地发送各种HTTP请求,包括GET、POST、PUT、DELETE等。你可以创建一个HTTP请求对象,设置请求头、请求体和其他参数,然后发送请求并获取响应。requests库提供了许多方便的方法来处理响应,包括获取响应内容、解析JSON、解析HTML等。
如果本地 Python 环境没有安装 requests,可以在命令提示符窗口输入命令
pip install requests
安装 requests 模块
我们可以随便打开一个网页,F12->“Ctrl+R”刷新,双击名称中的项
可以看到User-Agent和Cookie
以下是一些常用的requests库功能和用法:
-
发送GET请求:
response = requests.get(url)
-
发送POST请求:
response = requests.post(url, data=payload)
-
设置请求头:
headers = {'User-Agent': 'Mozilla/5.0'} response = requests.get(url, headers=headers)
-
传递URL参数:
params = {'key1': 'value1', 'key2': 'value2'} response = requests.get(url, params=params)
-
发送文件:
files = {'file': open('file.txt', 'rb')} response = requests.post(url, files=files)
-
获取响应内容:
print(response.text)
-
解析JSON响应:
json_data = response.json()
-
解析HTML响应:
from bs4 import BeautifulSoup soup = BeautifulSoup(response.text, 'html.parser')
-
处理异常:
try:response = requests.get(url)response.raise_for_status() except requests.HTTPError as e:print('HTTPError:', e) except requests.ConnectionError as e:print('ConnectionError:', e) except requests.Timeout as e:print('Timeout:', e) except requests.RequestException as e:print('RequestException:', e)
以上只是requests库的一小部分功能,它还提供了许多其他高级功能和选项,例如会话管理、认证、代理设置等,可以帮助你轻松地进行网络爬虫和API调用。
完整的请求函数例程:
import requestsdef get_html(url):'''两个参数:param url:统一资源定位符,请求网址:param headers:请求头:return html 网页的源码:return sess 创建的会话'''# 请求头headers={'User-Agent': '复制了放这里'}# 创建Session, 并使用Session的get请求网页sess = requests.Session()response = sess.get(url=url,headers = headers)# 获取网页信息文本html = response.textreturn html, sess