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

如何下载完整网页并修改文本 同时保留原有样式、图片等资源

实现方案

以下两种方案都可以实现保留原页面所有样式、图片、排版的同时完成文本替换:

方案1:浏览器控制台直接修改后保存(零代码,操作最简便)

  • 第一步:用Chrome打开目标维基页面,等待页面所有资源加载完成
  • 第二步:按F12打开开发者工具,切换到「控制台/Console」标签,粘贴以下代码回车运行:
// 仅替换文本内容,不修改标签属性、样式、脚本逻辑
function replaceText(node) {
  if (node.nodeType === Node.TEXT_NODE) {
    // 按全字匹配、不区分大小写规则替换,可按需调整规则
    node.textContent = node.textContent.replace(/\bjoke\b/gi, 'apple');
  } else if (node.nodeType === Node.ELEMENT_NODE && !['SCRIPT','STYLE','NOSCRIPT'].includes(node.tagName)) {
    for (let child of node.childNodes) {
      replaceText(child);
    }
  }
}
replaceText(document.body);
  • 第三步:运行完成后页面上所有joke就会被替换为apple,此时右键页面选择「另存为」,保存类型选「网页,全部(.html;.htm)」,存储到本地路径即可。打开保存后的文件完全和原网页效果一致。

方案2:下载完整资源后用Python批量处理

操作步骤

  • 第一步:先手动用Chrome打开目标页面,右键选择「另存为」,保存类型选「网页,全部」,会得到一个.html主文件和一个同名的_files资源文件夹,所有样式、图片、脚本都已经存在本地,路径自动适配为相对路径,不会丢失排版效果。
  • 第二步:运行以下Python脚本修改主html文件,仅替换文本节点,不会破坏标签属性:
from bs4 import BeautifulSoup
import re

# 替换为你自己本地存储的html主文件路径
input_html_path = "World's funniest joke - Wikipedia.html"
output_html_path = "modified_page.html"

# 读取原html内容
with open(input_html_path, 'r', encoding='utf-8') as f:
    soup = BeautifulSoup(f.read(), 'html.parser')

# 遍历所有文本节点
for text_node in soup.find_all(string=True):
    # 跳过脚本、样式类内容,避免破坏页面逻辑
    if text_node.parent.name in ['script', 'style', 'noscript', 'comment']:
        continue
    # 全字匹配不区分大小写替换,可按需调整规则
    new_text = re.sub(r'\bjoke\b', 'apple', text_node, flags=re.IGNORECASE)
    text_node.replace_with(new_text)

# 保存修改后的文件
with open(output_html_path, 'w', encoding='utf-8') as f:
    f.write(str(soup))
  • 第三步:把生成的modified_page.html和之前下载的_files文件夹放在同一目录下,打开即可看到替换后的完整效果。

之前方案失效原因说明

  • mhtml格式无法直接修改:mhtml是把所有资源打包的二进制单文件,本身设计目的是归档,没有直接编辑文本的条件,不适合文本替换场景。
  • 直接用requests+bs4爬取缺样式:仅爬取了主html内容,没有下载外联的css、图片、字体等资源,也没有处理资源的相对路径,所以打开后无排版效果。

内容的提问来源于stack exchange,提问作者ℕʘʘḆḽḘ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:12:00