저는 Pyside를 사용하여 웹 페이지의 JavaScript 생성 HTML을 렌더링하고 웹 스크랩에 해당 HTML을 사용하려고합니다. 내가 this quick example을 사용하기 시작했지만 그 결과는 매우 일치하지 않습니다.QtWebkit for python이 대부분의 웹 페이지를로드하지 않는 이유는 무엇입니까?
일부 페이지는 완벽하게 정상적으로 작동하지만 다른 페이지는 무한히 끊어지는 문제가 있습니다. 그리고 나는 몇 초 후에 포기하는 것에 대해 이야기하는 것이 아니라, 여러 번 여러 시간 동안 스크립트를 실행하게하고 진행이 이루어지지 않도록했습니다. this answer에 주어진 페이지처럼,
import sys
from PySide.QtCore import *
from PySide.QtGui import *
from PySide.QtWebKit import *
class Render(QWebPage):
def __init__(self, url):
self.app = QApplication(sys.argv)
QWebPage.__init__(self)
self.loadFinished[bool].connect(self.end)
self.mainFrame().load(url)
self.app.exec_()
def end(self, result):
print 'end'
self.finalFrame = self.mainFrame()
self.app.quit()
r = Render('http://pyside.github.io/docs/pyside/PySide/QtWebKit/index.html')
print r.finalFrame.toHtml().encode('ascii', 'ignore')
print 'done'
이 페이지는 작동하지만, 대부분의 사람들은 ('https://www.google.ca/', 'https://webscraping.com')는하지 않는 다음과 같이
내 현재 코드입니다.
페이지를로드하려면 어떻게해야합니까?
해당 웹 페이지를로드하는 데 문제가 없으므로 문제가 결국 해결되어야합니다. 그래서 이것은 당신이 추가 할 몇 가지 중요한 새로운 정보가 없다면,이 주제에 관한 당신의 다른 질문과 중복되는 것일뿐입니다. [urllib2] (https://docs.python.org/2/library/urllib2.html#module-urllib2)와 같은 다른 방법을 사용하여 해당 URL을로드하려고 시도 했습니까? – ekhumoro
예 urllib2를 사용하여로드 할 수 있으며 제대로 작동합니다. 제가 언급 한 URL은 절대로로드하지 않거나 6 시간 이상 걸리지 않습니다 (지금까지). 내가 읽은 바에 따르면 SSL 오류 일 가능성이 있지만 발견 된 수정 사항 중 어느 것도 소켓을 사용하지 않고 QSslConfiguration 모듈을 가져올 수없는 등 여러 가지 이유로 구현할 수 있습니다. – GreySage
Can PySide 및 Qt4의 특정 버전을 어떤 플랫폼에서 사용하고 있습니까? 또한 IDE 또는 디버거가 아닌 표준 콘솔에서 코드를 테스트해야합니다. – ekhumoro