c++ - Jsoup 类似于 C++ 的 html 解析器

标签 c++ html css-selectors jsoup

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

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

最佳答案

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

除了这里已经提到的库之外,这里还有一个关于 C++(也有一些 C)解析器的很好的概述:Free C or C++ XML Parser Libraries

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

LibXml

  • 推拉解析器(DOM、SAX)
  • 验证
  • XPath 和 XPointer 支持
  • 跨平台/良好的文档

Apache Xerxces

  • 推拉解析器(DOM、SAX)
  • 验证
  • 不支持 XPath(但有一个包?)
  • 跨平台/良好的文档

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

更多:

也许您可以将 DOM 模型/解析器和 CSS 选择器组合在一起?

关于c++ - Jsoup 类似于 C++ 的 html 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17921697/

相关文章:

javascript - 想要将添加的元素移动到 DOM 的不同部分

html - 为什么这个父元素没有完全包含它的子元素?

javascript - 使用 jquery 选择选项卡

css - :checked selector CSS

c++ - 为什么 select() 返回 1 而 recv() 返回 0?

c++ - 作为另一个函数参数的函数调用是否遵循任何定义的行为?

html - 无法让最后一个 child 在我的 CSS 中工作

html - href 链接内跨度上的不同颜色

c++ - 为什么我仍然可以访问对临时对象的引用?

c++ - 我可以用 openmp 迭代 C++11 std::tuple 吗?