Hallo Mithacker,
heute mal ein kleines Hilfegesuch von mir. es geht um Programmierung und Webtechnik.
Ich versuche in Python Informationen aus unserem Wiki zu ziehen, z.B. von der Seite
Erster Ansatz mit request:
import requests
diffhtml_source = diffwebsite.text
print(diffhtml_source)
ergib leider nicht dasselbe wie im browser.
Speichere ich das erhaltene HTML lokal ab und öffne es mit Chrome, sind aber wieder alle Infos da. Ich nehme also an es hat nix mit Accounts/Login/Cookies zu tun, sondern die fehlenden Infos werden nachträglich mittels Javascript nachgeladen, welches ja bei einem reinen request nicht ausgeführt wird.
Also mein nächster Versuch: Rendern mit Webkit
import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebKitWidgets import QWebPage
class Render(QWebPage):
def __init__(self, url):
self.app = QApplication(sys.argv)
QWebPage.__init__(self)
self.loadFinished.connect(self._loadFinished)
self.mainFrame().load(QUrl(url))
self.app.exec_()
def _loadFinished(self, result):
self.frame = self.mainFrame()
self.app.quit()
diffhtml_source = diffwebsite.frame.toHtml()
print(diffhtml_source )
Das Ergebnis ist aber nur marginal unterschiedlich zum erste Versuch:
Die benötigten Informationen fehlen immernoch.
Hat jemand eine Idee?
Die Webkit-Lösung stammt (natürlich) aus dem Netz, war dort aber für PyQt4 beschrieben.
Gruss,
Chaos