C++ 使用Qt作为纯终端应用的网络爬虫

C++ 使用Qt作为纯终端应用的网络爬虫,c++,qt,web-crawler,C++,Qt,Web Crawler,我在GUI环境中使用Qt为特定任务创建了一个简单的web爬虫程序。现在,我想将其自动化(使用cron)并使用纯非GUI环境。我尝试将代码移植到非GUI应用程序,但没有成功 我有一些问题: 可以在纯非GUI环境中使用QWebPage吗?(一) Linux终端)。我读过一些类似的问题,我认为 这是不可能的,但我仍然有些怀疑 如果不可能,我如何使用Qt来编程网络爬虫 对于非GUI应用程序?。我熟悉Qt(非专家, 当然)如果可能的话,我想用它 如果仍然不可能,您建议获取哪些库 和解析HTML页面?(多平

我在GUI环境中使用Qt为特定任务创建了一个简单的web爬虫程序。现在,我想将其自动化(使用cron)并使用纯非GUI环境。我尝试将代码移植到非GUI应用程序,但没有成功

我有一些问题:

  • 可以在纯非GUI环境中使用QWebPage吗?(一) Linux终端)。我读过一些类似的问题,我认为 这是不可能的,但我仍然有些怀疑

  • 如果不可能,我如何使用Qt来编程网络爬虫 对于非GUI应用程序?。我熟悉Qt(非专家, 当然)如果可能的话,我想用它

  • 如果仍然不可能,您建议获取哪些库 和解析HTML页面?(多平台和C++,也有Python,但它 意味着我必须再次做很多工作)

  • 编辑:


    据介绍,我可以在终端上运行我的网络爬虫,但我必须使用一个假的服务器。这不是一个完美的解决方案,但它允许我使用cron对任务进行编程。将来,我将探索python在这项任务中的能力

    当然这是可能的。QWebPage只继承QObject,而不是QWidget。甚至还有一个简短的教程,教你如何在没有GUI的情况下完成这项工作。仅针对url爬虫,我想您甚至不需要渲染部分。

    当然有可能。QWebPage只继承QObject,而不是QWidget。甚至还有一个简短的教程,教你如何在没有GUI的情况下完成这项工作。仅针对url爬虫,我想您甚至不需要渲染部分。

    这就是我现在使用qWebPage的方式,但qWebPage需要QWidget。正如在这篇评论中所指出的:,所以你不能从一个终端(我不是说一个XTerm或Konsole,只是一个没有X-server的终端)吃午饭绝对有趣。我想纯粹出于好奇,我会亲自调查一下。“QWebCore正在自行创建”的QWidgets不能设置父QWidget(因为您不能将任何设置设置为QWebPage),这完全违背了所有权树的Qt哲学。在最坏的情况下,你将不得不求助于一个合适的无头爬虫库,比如。这就是我现在使用qWebPage的方式,但qWebPage需要QWidget。正如在这篇评论中所指出的:,所以你不能从一个终端(我不是说一个XTerm或Konsole,只是一个没有X-server的终端)吃午饭绝对有趣。我想纯粹出于好奇,我会亲自调查一下。“QWebCore正在自行创建”的QWidgets不能设置父QWidget(因为您不能将任何设置设置为QWebPage),这完全违背了所有权树的Qt哲学。在最坏的情况下,您将不得不求助于一个合适的无头爬虫库,如。