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

https://technikkultur-erfurt.de/projekte:bytespeicher_notizen:start?do=revisions


Erster Ansatz mit request:

import requests
diffwebsite = requests.get("https://technikkultur-erfurt.de/projekte:bytespeicher_notizen:start?do=revisions")
diffhtml_source = diffwebsite.text
print(diffhtml_source)

ergib leider nicht dasselbe wie im browser.

Siehe hier: https://www.diffchecker.com/5g6fzqwa (links: request, rechts: Chrome)

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() 

diffwebsite  = Render("https://technikkultur-erfurt.de/projekte:bytespeicher_notizen:start?do=revisions")
diffhtml_source = diffwebsite.frame.toHtml()
print(diffhtml_source )


Das Ergebnis ist aber nur marginal unterschiedlich zum erste Versuch: 
https://www.diffchecker.com/r6ryc4gq

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