我正在使用HtmlAgilityPack来抓取糟糕的HTML并获取链接,原始文本等。我遇到了一些页面,这些页面的标签不一致<a>
,如下所示:
<html>
<head></head>
<body>
<a href=...>Here's a great link! <a href=...>Here's another one!</a>
Here's some unrelated text.
</body></html>
HAP解析此问题,并有助于关闭打开的<a>
标记,但仅限于文档的最后:
<html>
<head></head>
<body>
<a href="...">Here's a great link! <a href="...">Here's another one!</a>
Here's some unrelated text.
</a></body></html>
在实践中,这意味着任何未闭合链接的InnerText
包含来自页面其余部分的所有文本,这在解析可能包含数千个未闭合标记和兆字节文本的页面时会变得令人兴奋。
那么,我怎样才能让HAP立即关闭这些标签,理想情况是在下一次打开之前关闭这些标签,以便<a>
永远不会有任何重叠?我已经玩过OptionFixNestedTags
和OptionAutoCloseOnEnd
而没有运气,我已经找到了关于如何允许重叠的建议,但我在实际修复它时留下了空白