2017-02-13 3 views
0

Ich benutze QWebEnginePage, um den Inhalt einiger Webseiten zu erhalten. In der .pro Datei habe ich erwähnt CONFIG-=gui.Gibt es eine Möglichkeit, QtWebEngine im Headless-Modus auszuführen

Allerdings, wenn ich das Programm in einem Headless-System ausführen, beschwert es sich nicht zu verbinden, um anzuzeigen: 0. Ich habe auch bemerkt, dass es libX11-xcb.so & verwandten Bibliotheken benötigt.

Gibt es trotzdem ich kann den HTML-Code einer Seite mit QtWebEngine im Headless-Modus ohne xvfb verwenden?

+0

Ich denke, es gibt andere Alternativen, um den Inhalt einer Webseite in Qt zu bekommen. – Redanium

+0

@Redanium Meine Anforderung ist es, die HTML einer AJAX-Site zu bekommen. Also suchte ich nach einem kopflosen Browser, um das Javascript zum Generieren des HTML auszuführen. Bitte schlagen Sie vor, wenn es eine Alternative gibt –

+0

Warum verwenden Sie 'QNetworkAccessManager' nicht mit' QNetworkReply' – Redanium

Antwort

1

„Meine Forderung ist die HTML einer Ajax-Site zu erhalten. So wurde ich für einen Headless Browser suchen, um die Javascript auszuführen, um die HTML zu erzeugen.“

Eine Spinne Ihrer Anforderung erfüllen kann. Mit Scrapy und Chrome können Sie alles tun, was ein Browser tun kann.

0

QtWebEngine ist speicherhungrig im Vergleich zu QtWebKit (Einzelprozessversion).

  • QtWebkit hat einige Websites nicht korrekt wiedergegeben.
  • QtWebEngine benötigt Xserver daher mehr Speicher verbraucht. Plus das mehrfache Prozessdesign, selbst wenn Sie einen einzelnen Vorsprung haben

Schließlich geschalten zu puppeteer. Ich weiß, dass dies nicht die direkte Antwort auf die Frage ist. Dies löst jedoch das ursprüngliche Problem, DOM-HTML einer Ajax-Site im Headless-Modus zu extrahieren.

Verwandte Themen