有人能推荐一个C或Objective-C库来解析HTML吗?它需要处理乱七八糟的HTML代码,这些代码不会完全验证。
这样的库是否存在,或者我是否更好地尝试使用正则表达式?
发布于 2011-03-09 20:58:00
如果有人在谷歌上搜索了一个很好的XPath解析器并使用了TFHpple,那么请注意TFHpple使用的是XPathQuery。这很好,但有一个内存泄漏。
在*PerformXPathQuery函数中,如果发现节点为空,则在清除之前跳出。
因此,您会看到这段代码:添加两个清理行。
xmlNodeSetPtr nodes = xpathObj->nodesetval;
if (!nodes)
{
NSLog(@"Nodes was nil.");
/* Cleanup */
xmlXPathFreeObject(xpathObj);
xmlXPathFreeContext(xpathCtx);
return nil;
}
如果你正在做大量的解析,这是一个恶意的泄漏。现在……如何找回我的夜晚:-)
发布于 2010-05-11 05:18:08
我围绕libxml编写了一个轻量级包装器,它可能很有用:
发布于 2009-01-02 02:14:19
这可能取决于HTML的混乱程度以及您想要提取的内容。但通常情况下,Tidy做得相当好。它是用C语言编写的,我猜你应该能够为iPhone构建并静态链接它。您可以轻松地安装命令行版本并首先测试结果。
https://stackoverflow.com/questions/405749
复制相似问题