溪客(编程代码) 溪客(编程代码)

  • 今天是2025年08月20日 Wednesday
  • 首页
  • 知识
  • 网址
  • AI助手

Python

首页 / 知识 / Python
  • 基础
    • Conda
    • Jupyter
    • dump
    • CSharp2Python
    • 关于模块导入
    • 关于推导式
    • 关于元组
    • set和数组的区别
    • 关于Literal
    • 关于iter
    • 关于setup.py
    • 路径拼接
    • 方法命名约定
  • 库
    • 其他
    • argparse命令行参数解析
    • asyncio自带异步编程库
    • aiofiles异步文件读写库
    • beautifulsoup4_HTML_XML解析库
    • colorama_在终端输出漂亮的字
    • datasets数据集处理
    • html2text
    • httpx_HTTP请求库
    • litellm
    • loguru日志库
    • numpy科学计算基础库
    • pillow图像处理
    • pydantic数据验证
    • pyyaml
    • requests_HTTP请求库
    • tenacity重试
    • tiktoken计算Token量
    • torch机器学习_深度学习框架
    • tomli TOML文件解析库
    • tomllib 自带TOML文件解析库
    • unidiff_文本_文件差异对比
    • uvicorn_Web服务器
  • langchain
    • langchain-chatchat
    • langchain-qianfan
**BeautifulSoup4(简称 bs4)** 是 Python 中一个非常流行的 **HTML 和 XML 解析库**,主要用于从网页(或 HTML/XML 文档)中**提取数据**,比如抓取网页中的标题、链接、表格内容等。 --- ## 一、BeautifulSoup4 是什么?(简单理解) - 它是一个**解析 HTML/XML 的工具库**,可以帮你把杂乱无章的网页源代码,变成一个**结构化的、容易操作的对象**。 - 有了它,你可以方便地**查找、提取、修改** HTML 中的标签、文本、属性等信息,常用于**网页爬虫(爬取数据)和数据清洗**。 - 它本身**不会帮你下载网页**,通常和 **requests** 库一起使用:先用 requests 获取网页 HTML,再用 BeautifulSoup 解析内容。 --- ## 二、BeautifulSoup4 解决什么问题? 当你在做以下事情时,可能会用到它: | 场景 | 说明 | |------|------| | **网页爬虫(爬数据)** | 从网站上提取需要的内容,比如新闻标题、商品价格、图片链接等 | | **数据提取** | 从复杂的 HTML 页面中精准获取某一部分内容 | | **数据清洗** | 对 HTML 格式的内容进行整理、提取文本、去除标签等 | | **自动化处理网页内容** | 比如提取表格数据、解析文档结构等 | --- ## 三、BeautifulSoup4 常见用途举例 ### 1. 提取网页中的标题 ```python from bs4 import BeautifulSoup import requests url = "https://example.com" html = requests.get(url).text # 获取网页源码 soup = BeautifulSoup(html, 'html.parser') # 解析 HTML title = soup.title.text # 获取 标签中的文本 print(title) ``` ### 2. 提取所有的链接(<a> 标签) ```python links = soup.find_all('a') # 找出所有 <a> 标签 for link in links: print(link.get('href')) # 打印链接地址 ``` ### 3. 提取特定 class 或 id 的内容 ```python # 找到 class 为 "content" 的 div 标签 content_div = soup.find('div', class_='content') print(content_div.text) # 或者找 id 为 "main" 的元素 main = soup.find(id='main') ``` --- ## 四、安装 BeautifulSoup4 使用 pip 安装: ```bash pip install beautifulsoup4 ``` 🔧 **注意:BeautifulSoup4 只是一个解析库,要获取网页内容,通常还需要安装 requests:** ```bash pip install requests ``` --- ## 五、BeautifulSoup4 支持多种解析器 在创建 BeautifulSoup 对象时,可以指定解析器,常见的有: | 解析器 | 说明 | 是否需要额外安装 | |--------|------|----------------| | `'html.parser'` | Python 内置,轻量级 | ❌ 不需要 | | `'lxml'` | 速度快,功能强大 | ✅ 需要:`pip install lxml` | | `'html5lib'` | 容错性强,适合不规范 HTML | ✅ 需要:`pip install html5lib` | 🔧 推荐组合: ```python soup = BeautifulSoup(html内容, 'lxml') # 速度快,推荐 # 或 soup = BeautifulSoup(html内容, 'html.parser') # Python 自带,无需安装 ``` --- ## 六、总结(中文) > **BeautifulSoup4(bs4)是 Python 中用于解析和提取 HTML/XML 数据的一个库,简单易用,功能强大,特别适合网页爬虫和数据提取任务。** > > 它通常与 `requests` 一起使用:先获取网页内容,再用 BeautifulSoup 解析和提取想要的信息,是 Python 爬虫开发中最常用的工具之一。 --- ✅ **简单来说:** > 如果你想从网页中“捞数据”,比如抓标题、链接、图片、表格等,BeautifulSoup4 就是你最常用的“数据提取工具”。 </div> </div> </div> </div> </div> </div> </div> </main> </div> <footer class="border-top footer text-muted"> <div class="container"> © 2022 - 溪客(编程代码) - <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">粤ICP备10217501号</a> Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) </div> </footer> <script src="/lib/jquery/dist/jquery.min.js"></script> <script src="/lib/tabler/js/tabler.min.js"></script> <script src="/js/site.js?v=4q1jwFhaPaZgr8WAUSrux6hAuh0XDg9kPS3xIVq36I0"></script> <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script> <script src="//cdn.bootcss.com/highlight.js/8.0/highlight.min.js"></script> <script> document.getElementById('htmlContent').innerHTML = marked.parse(document.getElementById('markdownContent').innerHTML); </script> <script> hljs.initHighlightingOnLoad(); </script> </body> </html>