Jsoup喜欢用于C++的html解析器

Wri*_*ick 16 html c++ css-selectors jsoup

我一直在编写一些代码来从Java中的某些页面获取一些数据,Jsoup是最好的库.但是,不幸的是我必须将整个代码移植到C/C++.但是我找不到在c ++上使用的任何体面的html解析器.是否有类似Jsoup的C++库或者如何实现类似的结果?

[目前我正在使用Curl获取页面的来源并漫游互联网以查找html解析器]

oll*_*llo 13

不幸的是,我猜没有像Cs的Jsoup这样的解析器......

除了这里已经提到的库之外,还有一个关于C++(也有一些C语言)解析器的很好的概述:免费的C或C++ XML解析器库

对于解析我使用TinyXML-2进行(Html-)DOM解析; 它是一个非常小的(只有2个文件)库,可在大多数操作系统(甚至非桌面)上运行.

的libxml

  • 推拉解析器(DOM,SAX)
  • 验证
  • XPath和XPointer支持
  • Cross-Plattform /良好的文档

Apache Xerxces

  • 推拉解析器(DOM,SAX)
  • 验证
  • 没有XPath支持(但是这个包?)
  • Cross-Plattform /良好的文档

如果您使用的是C++ CLI,请查看NSoup - .NET的Jsoup端口.

多一点:

也许你可以将DOM Model/Parser和CSS选择器结合在一起?


sgu*_*gun 8

如果您熟悉Qt Framework,最方便的方法是使用QWebElement(此处参考).

否则,(正如另一篇文章建议的那样)使用Tidy将HTML转换为有效的XML,然后使用诸如libxml ++之类的XML解析器是一个不错的选择.您可以在此处找到显示这两个步骤的示例代码.


bow*_*tew 6

Chromium有一个开源解析器.此外,Google gumbo-parser看起来很酷.