0

我正在编写一个搜索引擎,它可以访问我公司所有附属网站,解析 html 并将它们存储在数据库中。这些网站非常老旧,在 100000 个网站中不符合 html 标准,大约 25% 的网站的 html 不好,难以解析。我需要编写可能修复错误 html 的 ac# 代码,然后解析内容或提出解决上述问题的解决方案。如果您有想法,实际的提示或代码片段会有所帮助。

4

3 回答 3

4

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

于 2012-05-23T13:31:10.363 回答
1

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

例如对于

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

于 2012-05-23T13:31:52.407 回答
1

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

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

于 2012-05-23T13:36:08.697 回答