(lehu6.vip官网直营平台) C++如何使用nodejs?以及Qt解析html方案

目前有个项目是用C++和Qt开发的,现在遇到个问题就是解析html。比如我要像jquery那样,获取id=”test”的div的html内容。在c++里面,这件事做得太憋屈了。我查了一下,只有谷歌的一个开源工具gumbo是解析html的,但是功能似乎没那么强大,折腾很久都不行。

我后来查了一圈发现,最了解html的,当然是js了。他们好像是亲兄弟一样。

在js里面使用jquery完成上面的功能只需要一行代码

$"div#test".html

啊,多么完美简洁的一句话。

可是在c++的世界里面太难想象了。

所以我现在非常想用js来解决我的问题。可以有很多丰富的开源项目来支持。
但是我的项目c++和Qt怎么用上这些js或者nodejs来解决问题呢?

有什么办法呢?查了一圈,好像说用nw.js和Electron,听说坑还真不少,毕竟出来也没多久。放弃目前的体系跳到这两个,要是不行再跳回来,估计时间都过去个把月了,得不偿失,风险太大

试试PhantomJS,内存浏览器,不要打开界面,性能应该还可以

Electron吧,是Github官方推的,而且已经有不少成熟实例。

对QT与C++,不懂。。。

对Qt不熟,如果Qt原生的webview组件可行,应该是开发和执行上最高效的方案。

其次,还可以
写个node脚本读html 加载jQuery/zepto抓标签文字 然后通过进程间通信传给Qt下的C++进程。
要注意node可能不够webview来得轻量级,执行效率比C++低很多

但无论哪种方法,最后都会解析JS来抓取标签,
这是用程序性能来换开发效率,记得测试看看性能是不是能够接受。

发表评论

电子邮件地址不会被公开。 必填项已用*标注