用于C的HTML解析器库

我只需要一个建议。 我有一个程序,它采用有效的HTML,并将其保存到文件,我需要一种方法来解析这个html文件,以检索该html文件中记录的每个图像。 (例如/foo/bar.jpg)。 有没有我可以用来实现这个的HTML解析库?

半答案:有一个名为Tagsoup的Java解析器将“Just Keep On Truckin”,使用尖括号解析任何内容并始终为应用程序生成一组有效的事件。

我之所以提到这一点,是因为我知道这个想法, 而且至关重要的是,这个名称已被其他语言中具有相同意图的图书馆采用。 我现在找不到C版本,但如果您尝试使用该起点进行一些创造性搜索,那么您可能会有更多的运气(重点是位于解析器顶部的应用程序不必关心其中的恐怖。原始来源,但可以假装它是格式良好的XML,并与它一起做XML格式的东西)。

编辑:哦,和…我们去Taggle (C ++,但可能足够接近,并且该post表明从Java移植它并不难)

如果你需要的只是提到的.jpg文件,你应该只使用文件阅读器和正则表达式匹配器来寻找像文件字符串这样的.jpg文件名,从而获得相当不错的结果(例如,很少误报)。

即使你有一个完美的HTML解析器,你也不会获得所有.jpg文件,因为一些文件名可能是由你无法解释的JavaScript文本组装的,所以不完美似乎不是很多亏损。

有libXml2 。 但这可能要求文件是XHTML,而不是HTML。

Gumbo Parser ,Google。 它是纯C中的HTML5解析器,没有依赖关系

我瘦了你可以使用libcurl,我过去用它来解析HTML网站中的常规排泄物,以便在一定程度上检索图片和电子邮件。 如果我找到代码,我会向您提供一些提示。