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 requests
def 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.text
return html, sess