You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于bs4实现:将每个<a>标签内容写入以H2文本命名的独立文件

使用BeautifulSoup提取标签内容并生成独立文件

实现步骤

  • 导入BeautifulSoup和os库,前者用于解析HTML,后者处理文件操作
  • 加载并解析目标HTML内容(本地文件或网页响应)
  • 遍历所有<a>标签,提取内部<h2>的文本作为文件名(需处理非法字符)
  • 将每个<a>标签的完整HTML代码写入对应文本文件

示例代码

假设目标HTML结构如下(input.html):

<div class="content">
  <a href="/category/green">
    <h2>Green</h2>
    <p>Details about green category</p>
    <img src="green.jpg" alt="Green">
  </a>
  <a href="/category/blue">
    <h2>Blue</h2>
    <p>Details about blue category</p>
    <img src="blue.jpg" alt="Blue">
  </a>
</div>

处理代码:

from bs4 import BeautifulSoup
import os

# 读取本地HTML文件(若为网页,可替换为requests.get(url).text)
with open("input.html", "r", encoding="utf-8") as file:
    html = file.read()

soup = BeautifulSoup(html, "html.parser")

# 遍历所有<a>标签
for a_element in soup.find_all("a"):
    # 获取<h2>文本并清理空白
    h2_title = a_element.find("h2").get_text(strip=True)
    # 处理文件名,避免系统非法字符
    valid_filename = h2_title.replace("/", "_").replace(":", "_").replace("?", "_") + ".txt"
    
    # 转换<a>标签为完整HTML字符串
    a_html_content = str(a_element)
    
    # 写入文件
    with open(valid_filename, "w", encoding="utf-8") as output_file:
        output_file.write(a_html_content)

效果说明

运行代码后,会生成Green.txt和Blue.txt两个文件:

  • Green.txt内的内容为对应<a>标签的完整HTML代码:
<a href="/category/green">
    <h2>Green</h2>
    <p>Details about green category</p>
    <img src="green.jpg" alt="Green">
  </a>
  • Blue.txt内容同理,为对应<a>标签的完整HTML代码

内容的提问来源于stack exchange,提问作者Reboot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 16:18:20