如何解析错误的 html

本文关键字:html 错误 何解析 | 更新日期: 2023-09-27 18:35:01

我正在编写一个搜索引擎,该搜索引擎转到我公司的所有附属网站解析html并将它们存储在数据库中。这些网站真的很旧,在 100000 个网站中,大约 25% 的网站有糟糕的 html,难以解析。我需要编写一个 c# 代码来修复错误的 html,然后解析内容或提出一个解决方案来解决上述问题。如果你坐在想法上,一个实际的提示或代码片段会有所帮助。

如何解析错误的 html

只需使用 Html Agility Pack。解析错误的 html 代码非常好

人们通常使用某种形式的启发式驱动的标签汤解析器。

例如

  • 爪哇岛
  • 哈斯克尔

这些大多只是词法分析器,它们尽力从所有随机符号构建 AST。

使用标签汤解析器,我确定它是 C# 的解析器。然后,您可以将 DOM 序列化为或多或少有效的 HTML,具体取决于该解析器是否符合 HTML DTD。或者,您可以使用HTML Tidy,它至少可以清除最严重的错误。

正则表达式不适用于此任务。