我需要从HTML(XHTML有效)页面中获取一些内容。我使用curl抓取页面并将其存储在内存中。我尝试过在PCRE库中使用regex,但是我根本找不到在C中使用它的任何示例。然后我继续看HTML解析器,同样没有一个好的选择。我所能找到的只是一个名为HTMLparser的libxml文档化模块。是否有其他替代方案?如果没有,那么我已经找到了什么例子呢?
blpfk2vs1#
你想使用HTML tidy来完成这个任务。Libcurl页面有一些源代码可以帮助您。遍历dom树的文档。你不需要xml解析器。不会在格式错误的html上失败。http://curl.haxx.se/libcurl/c/htmltidy.html
flvtvl502#
我会使用libhtmltidy +任何像expat或libxml这样的xml解析器。那要看你在找什么了
nlejzf6q3#
Google最近创建了一个纯C99库来解析HTML,特别是HTML5。它很容易在任何C程序中使用,并积极开发。https://github.com/google/gumbo-parser
3phpmpom4#
如果您想使用C解析XML,那么到目前为止最好的方法是使用LibXML库。主页在http://xmlsoft.org/。除了下载之外,他们还有明确的code examples,专门展示了如何处理解析。我知道事实上你可以得到为Mac和Windows预编译的版本,大多数Linux和BSD发行版都已经包含了它,如果你愿意,你可以从源代码构建。
yvgpqqbh5#
快速C/C++ HTML 5解析器。使用线程。https://github.com/lexborisov/myhtml
2023年更新。使用Lexbor project中的HTML解析器。它很稳定,有更多的功能,而且-是的-它的速度非常快。它是myhtml的逻辑后继。
myhtml
5条答案
按热度按时间blpfk2vs1#
你想使用HTML tidy来完成这个任务。Libcurl页面有一些源代码可以帮助您。遍历dom树的文档。你不需要xml解析器。不会在格式错误的html上失败。
http://curl.haxx.se/libcurl/c/htmltidy.html
flvtvl502#
我会使用libhtmltidy +任何像expat或libxml这样的xml解析器。那要看你在找什么了
nlejzf6q3#
Google最近创建了一个纯C99库来解析HTML,特别是HTML5。它很容易在任何C程序中使用,并积极开发。
https://github.com/google/gumbo-parser
3phpmpom4#
如果您想使用C解析XML,那么到目前为止最好的方法是使用LibXML库。主页在http://xmlsoft.org/。除了下载之外,他们还有明确的code examples,专门展示了如何处理解析。我知道事实上你可以得到为Mac和Windows预编译的版本,大多数Linux和BSD发行版都已经包含了它,如果你愿意,你可以从源代码构建。
yvgpqqbh5#
快速C/C++ HTML 5解析器。使用线程。https://github.com/lexborisov/myhtml
2023年更新。使用Lexbor project中的HTML解析器。它很稳定,有更多的功能,而且-是的-它的速度非常快。它是
myhtml
的逻辑后继。