如何解析坏的HTML?

时间:2012-05-23 13:28:52

标签: c# html regex

我正在编写一个搜索引擎,该搜索引擎会发送给我所有的公司附属网站解析HTML并将其存储在数据库中。这些网站真的很旧,并且在100000个网站中不符合HTML标准,大约25%的网站有糟糕的HTML,这使得难以解析。我需要编写一个c#代码,可以修复坏的html,然后解析内容或提出解决上述问题的解决方案。如果你有想法,那么实际的提示或代码片段会有所帮助。

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

人们通常使用某种形式的启发式驱动tag soup解析器。

E.g。对

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

答案 2 :(得分:1)

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

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