C的HTML分析程序库



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

如果您只需要上面提到的.jpg文件,那么只需使用一个文件读取器和正则表达式匹配器来查找类似字符串的.jpg文件名,就会得到非常好的结果(例如,很少出现误报)。

即使你有一个完美的HTML解析器,你也不会得到所有的.jpg文件,因为有些文件名可能是由你无法解释的JavaScript文本组装而成的,所以不完美似乎并不是什么损失。

Gumbo Parser,谷歌出品。它是一个纯C语言的HTML5解析器,没有依赖项

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

我提到这一点是因为我知道的想法,至关重要的是,这个名字已经被其他语言中具有相同意图的库所采用。我现在找不到C版本,但如果你尝试从这个起点进行一些创造性的搜索,你可能会更幸运(重点是,位于解析器顶部的应用程序不必关心原始源代码中的恐怖,而是可以假装它是格式良好的XML,并对它做XML式的事情)。

编辑:哦,还有。。。我们来看看Taggle(C++,但可能已经足够接近了,那篇文章表明从Java移植它并不困难)

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

I thinh您可以使用libcurl,我过去曾使用它来解析HTML网站中的正则表达式,以在一定程度上检索图片和电子邮件。如果我找到了代码,我会给你一些提示。

最新更新