在linux下将关键词从HTML提取到C ++

时间:2011-11-24 19:21:16

标签: c++ html parsing

我正在开发一个简单的客户端 - 服务器项目。客户端是用Java编写的,它将关键字发送到在Linux下编写的C ++服务器,并重新列出具有最佳排名的URL列表(取决于关键字的出现次数)。服务器的工作是通过一些URL搜索关键词并返回最合适的URL。现在的问题是我必须解析HTML网站才能找到关键词的出现,而且我还需要从被访问页面中提取链接来搜索它们。我的问题是我可以使用哪些库来做到这一点?记住只有C ++ linux库适合我。有一些类似的主题,所以我试图通过其中的大多数,但一些库只解析html文件,我不想下载我访问的每个网站,但在运行中解析它只是存储它的排名和网址。其中一些看起来有点复杂 - 例如,首先将HTML解析为XML或其他东西,然后最终使用C ++处理结果。有什么简单而且足以做我需要做的事吗?任何建议将不胜感激。

3 个答案:

答案 0 :(得分:1)

我认为正则表达式不适合HTML解析。我正在使用libxml2,我非常喜欢它 - 易于使用,便携且闪电般快。

答案 1 :(得分:0)

要使用C / C ++从Web获取URL,您可以使用libcurl库。要从网站解析网址和其他不太简单的内容,您可以使用regex library

也可以在不使用库的情况下将HTML标记与真实内容分开。

对于更高级的东西,可以使用Qt,它提供QWebPage(使用WebKit)等类,允许人们访问页面的DOM模型并相当容易地提取单个HTML对象(例如表格的单个单元格)。

答案 2 :(得分:-1)

您可以尝试xerces-c。它是一个功能强大的xml解析库。它支持动态,dom和sax解析的xml读取。