2017-02-13 1 views
0

QWebEnginePage를 사용하여 일부 웹 페이지의 컨텐츠를 가져 오는 중입니다. 내가 언급 한 .pro 파일에서 CONFIG-=gui.QtWebEngine을 헤드리스 모드로 실행하는 방법이 있습니까

그러나 헤드리스 시스템에서 프로그램을 실행하면 표시 장치에 연결할 수 없다는 불만이 제기됩니다. 또한 libX11-xcb.so & 관련 libs가 필요하다는 것을 알았습니다.

어쨌든 xvfb를 사용하지 않고 헤드리스 모드에서 QtWebEngine을 사용하는 페이지의 HTML을 얻을 수 있습니까?

+0

Qt에서 웹 페이지의 콘텐츠를 가져 오는 다른 방법이 있다고 생각합니다. – Redanium

+0

@Redanium 내 요구 사항은 아약스 사이트의 HTML을 가져 오는 것입니다. 그래서 HTML을 생성하는 javascript를 실행하기 위해 헤드리스 브라우저를 찾고있었습니다. 어떤 대안이 있는지 제안하십시오 –

+0

QNetworkReply와 함께 QNetworkAccessManager를 사용하지 마십시오 – Redanium

답변

1

"내 요구 사항은. 그래서 나는 HTML을 생성하는 자바 스크립트를 실행하는 머리없는 브라우저를 찾고 있었다. 아약스 사이트의 HTML을 얻을 것입니다"

거미가 당신의 요구 사항을 충족 할 수 있습니다. Scrapy와 Chrome을 사용하면 브라우저에서 수행 할 수있는 모든 작업을 수행 할 수 있습니다.

0

QtWebEngine은 QtWebKit (단일 프로세스 버전)에 비해 메모리가 부족합니다.

  • QtWebkit은 일부 사이트를 제대로 렌더링하지 못했습니다.
  • QtWebEngine을 사용하려면 Xserver가 더 많은 메모리를 필요로합니다. 단일 탭이 있어도 다중 프로세스 설계가 가능합니다.

마지막으로 puppeteer으로 전환되었습니다. 게시 된 질문에 대한 직접 답변이 아닌 것을 알고 있습니다. 그러나 이것은 진정한 헤드리스 모드에서 ajax 사이트의 DOM HTML을 추출하는 원래의 문제를 해결합니다.

관련 문제