ai
  • index
  • cursor
  • vector
  • crawl
  • crawl-front
  • DrissionPage
  • logging
  • mysql
  • pprint
  • sqlalchemy
  • contextmanager
  • dotenv
  • Flask
  • python
  • job
  • pdfplumber
  • python-docx
  • redbook
  • douyin
  • ffmpeg
  • json
  • numpy
  • opencv-python
  • pypinyin
  • re
  • requests
  • subprocess
  • time
  • uuid
  • watermark
  • milvus
  • pymilvus
  • search
  • Blueprint
  • flash
  • Jinja2
  • secure_filename
  • url_for
  • Werkzeug
  • chroma
  • HNSW
  • pillow
  • pandas
  • beautifulsoup4
  • langchain-community
  • langchain-core
  • langchain
  • langchain_unstructured
  • libreoffice
  • lxml
  • openpyxl
  • pymupdf
  • python-pptx
  • RAGFlow
  • tabulate
  • sentence_transformers
  • jsonl
  • collections
  • jieba
  • rag_optimize
  • rag
  • rank_bm25
  • Hugging_Face
  • modelscope
  • all-MiniLM-L6-v2
  • ollama
  • rag_measure
  • ragas
  • ASGI
  • FastAPI
  • FastChat
  • Jupyter
  • PyTorch
  • serper
  • uvicorn
  • markdownify
  • NormalizedLevenshtein
  • raq-action
  • CrossEncoder
  • Bi-Encoder
  • neo4j
  • neo4j4python
  • matplotlib
  • Plotly
  • Streamlit
  • py2neo
  • abc
  • read_csv
  • neo4jinstall
  • APOC
  • neo4jproject
  • uv
  • GDS
  • heapq
  • 一、BeautifulSoup4简介
  • 二、安装方法
  • 三、基本用法
    • 1. 解析HTML文档
  • 导入BeautifulSoup模块
  • 定义HTML字符串
  • 欢迎
  • 创建BeautifulSoup对象,使用lxml解析器
  • 打印格式化后的HTML
  • 标题
    • 3. 提取属性和文本内容
  • 导入BeautifulSoup模块
  • 定义HTML字符串
  • 创建BeautifulSoup对象
  • 查找a标签
  • 提取href属性
  • 提取id属性
  • 提取文本内容
    • 2. 遍历与节点关系
  • 导入BeautifulSoup模块
  • 定义HTML字符串
  • 创建BeautifulSoup对象
  • 查找ul标签
  • 遍历所有li子节点
  • 获取第一个li的下一个兄弟节点
    • 五、常见应用场景
    • 六、参考资料

一、BeautifulSoup4简介 #

BeautifulSoup4 是Python中最流行的HTML/XML解析库之一,常用于网页抓取和数据提取。

二、安装方法 #

介绍如何安装BeautifulSoup4及其依赖。

# 安装BeautifulSoup4主库
pip install beautifulsoup4
# 推荐安装lxml解析器以提升解析速度
pip install lxml

三、基本用法 #

本节介绍如何用BeautifulSoup4解析HTML、查找元素和提取内容。

1. 解析HTML文档 #

展示如何加载和解析HTML字符串。 `python

导入BeautifulSoup模块 #

from bs4 import BeautifulSoup

定义HTML字符串 #

html = """

示例页面

欢迎 #

这是一个BeautifulSoup4示例。

"""

创建BeautifulSoup对象,使用lxml解析器 #

soup = BeautifulSoup(html, 'lxml')

打印格式化后的HTML #

print(soup.prettify())


### 2. 查找元素
> 展示如何查找标签、类名、id等元素。
```python
# 导入BeautifulSoup模块
from bs4 import BeautifulSoup

# 定义HTML字符串
html = """

标题 #

信息段落

""" # 创建BeautifulSoup对象 soup = BeautifulSoup(html, 'lxml') # 查找第一个h1标签 h1_tag = soup.find('h1') # 打印h1标签内容 print(h1_tag.text) # 查找class为info的p标签 p_tag = soup.find('p', class_='info') # 打印p标签内容 print(p_tag.text)

3. 提取属性和文本内容 #

展示如何提取标签属性和纯文本。 `python

导入BeautifulSoup模块 #

from bs4 import BeautifulSoup

定义HTML字符串 #

html = "点击这里"

创建BeautifulSoup对象 #

soup = BeautifulSoup(html, 'lxml')

查找a标签 #

a_tag = soup.find('a')

提取href属性 #

print(a_tag['href'])

提取id属性 #

print(a_tag['id'])

提取文本内容 #

print(a_tag.text)


## 四、进阶用法

> 本节介绍CSS选择器、遍历、修改和输出等高级用法。

### 1. CSS选择器查找
> 展示如何用select方法进行复杂元素查找。
```python
# 导入BeautifulSoup模块
from bs4 import BeautifulSoup

# 定义HTML字符串
html = """
内容1
内容2
""" # 创建BeautifulSoup对象 soup = BeautifulSoup(html, 'lxml') # 使用CSS选择器查找所有class为box的div下的span spans = soup.select('div.box > span') # 遍历并打印span内容 for span in spans: print(span.text)

2. 遍历与节点关系 #

展示如何遍历父节点、子节点、兄弟节点。 `python

导入BeautifulSoup模块 #

from bs4 import BeautifulSoup

定义HTML字符串 #

html = "

  • 苹果
  • 香蕉
  • 橙子
"

创建BeautifulSoup对象 #

soup = BeautifulSoup(html, 'lxml')

查找ul标签 #

ul = soup.find('ul')

遍历所有li子节点 #

for li in ul.find_all('li'): print(li.text)

获取第一个li的下一个兄弟节点 #

first_li = ul.find('li') next_li = first_li.find_next_sibling('li') print(next_li.text)


### 3. 修改与输出
> 展示如何修改标签内容并输出新的HTML。
```python
# 导入BeautifulSoup模块
from bs4 import BeautifulSoup

# 定义HTML字符串
html = "

原始内容

" # 创建BeautifulSoup对象 soup = BeautifulSoup(html, 'lxml') # 查找p标签 p = soup.find('p') # 修改p标签内容 p.string = "新内容" # 输出修改后的HTML print(soup.prettify())

五、常见应用场景 #

BeautifulSoup4 常用于以下场景:

  • 网页爬虫与数据提取
  • 自动化表单/信息采集
  • HTML/XML数据清洗与转换
  • 结构化内容分析

六、参考资料 #

推荐学习和查阅的BeautifulSoup4相关资料。

  • 官方文档:https://beautifulsoup.readthedocs.io/zh_CN/latest/
  • Python中文社区:https://www.python.org.cn/

访问验证

请输入访问令牌

Token不正确,请重新输入