【问题标题】:Need a script or software to modify a lot of html files at once需要脚本或软件一次修改大量html文件
【发布时间】:2011-12-17 01:51:36
【问题描述】:

我有大约 3400 个树结构文件(大约 80% 是 html 文件)。

  1. 我需要修改每个 html 文件以删除

    样式和字体属性等旧内容并添加另一种样式。

  2. 我需要更改 html 中所有链接的根。例如在 href 属性处将 /old/path/ 更改为 /new/path。
  3. 我需要删除一些链接。例如指向 google.com 的链接需要被删除,所以 <a href="http://www.google.com">as google said</a> 应该只是“正如 google 所说的那样”。

有没有什么软件可以帮我做到这一点? 可以写剧本吗?

我不知道如何编写脚本以使其工作,我认为这可能是一种快速的方式......有人想帮助我吗?

谢谢!

【问题讨论】:

  • 我推荐 Python 和 BeautifulSoup 来完成这项任务,但你需要一些编程知识。
  • 遗憾的是,没有快速方法可以做到这一点。我还建议使用 Python 和 BeautifulSoup。

标签: linux bash shell scripting replace


【解决方案1】:

我会设置一个脚本,它只打开一个 HTML 文件,使用可靠的 HTML 解析器(BeautifulSoup 就是一个很好的例子)对其进行解析,然后以两种方式之一遍历它:在 SAX 模型中,编写表示重写规则或在 DOM 模型中的目标的函数,将规则编写为 XPath 查询并在匹配的 DOM 节点上执行操作。

然后在所有 HTML 文件上运行脚本。

【讨论】:

    【解决方案2】:
    1. 做好备份!
    2. 选择一种脚本语言
    3. 了解如何提供递归文件列表
    4. 了解如何读取文件内容和保存文件
    5. 打开所有文件并对每个文件的内容应用一个函数
    6. 该函数应该是您刚才描述的多个步骤的列表,并且应该将新数据作为其返回值
    7. 将数据保存回文件

    通常搜索和替换在大多数语言中都很容易。如果你需要它到你有条件解析的地方,你可能需要一个 xml/html 解析器或者可能需要学习正则表达式。最好先确保它适用于 1 个文件;)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-08
      • 2021-12-31
      相关资源
      最近更新 更多