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

如何使用Python从含路径的HTML文本中提取带扩展名的图片文件名

解决方法

核心逻辑

  • 通过正则匹配提取所有img标签的src属性值
  • 统一路径分隔符格式后取最后一段作为图片文件名
  • 直接关联文件名和所属页面写入结果文件

可直接使用的修改后代码

import re

# 此处保留你原有遍历5000个页面、给html_filename赋值的逻辑即可
def extract_img_from_page(html_filename):
    with open(html_filename, 'r', encoding="utf-8") as f:
        file_content = f.read()
    
    # 正则匹配所有img标签的src属性,忽略大小写适配路径大小写不一致的情况
    src_pattern = re.compile(r'<img[^>]+src\s*=\s*["\'](.*?)["\']', re.IGNORECASE)
    all_src = src_pattern.findall(file_content)
    
    with open('link_list.txt','a', encoding="utf-8") as f:
        for src in all_src:
            # 统一把Windows反斜杠替换为正斜杠,避免分割错误
            processed_src = src.replace('\\', '/')
            img_name = processed_src.split('/')[-1]
            f.write(f"{img_name}, {html_filename}\n")

# 遍历所有页面时调用上面的函数即可,例如:
# for html_filename in 你的所有html文件路径列表:
#     extract_img_from_page(html_filename)

适配说明

  1. 不需要按行读取HTML内容,直接读取全文匹配可以避免img标签跨行导致的漏匹配问题
  2. 自动兼容Unix风格正斜杠路径和Windows风格反斜杠路径,也适配你示例中出现的文件夹名大小写不一致(比如IMAGES和Images)的场景
  3. 支持单行存在多个img标签的场景,不会漏提取
  4. 你可以直接复用原有遍历5000个HTML文件的逻辑,只需要把每个文件路径传入上述函数即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:39:03