Die Knacknuss

Wie in meinem ersten Blogpost beschrieben ist der Crawler grundsätzlich fertig gestellt. Der Crawler wurde in Python geschrieben mit der Requests-Library. In initialen Tests zeigte sich, dass viele Inhalte nicht direkt im html der Seite zu finden sind, sondern später per JavaScript geladen werden. Deshalb dachte ich, dass für dieses Projekt ein Crawler benötigt wird, welcher JavaScript unterstützt. Im Rahmen meiner Bachelorarbeit habe ich bereits einen solchen Crawler mit Selenium erstellt. Selenium ist eine sehr mächtige Python Library, mit welcher verschiedene Browser als Crawler eingesetzt werden können und Webseiten wie ein “Mensch“ aufrufen kann. Doch zeigte sich bei näheren Betrachtung des Quellcodes der Seite zeigte sich jedoch, dass all diese für mich interessanten Werte in einem Script-Tag als JSON stehen. Supi, das erleichtert mir die Arbeit immens, da ein JSON file super interpretiert werden kann und durch das Nutzen der request-Library die performance des Crawlers deutlich erhöht wird.

Lesson learned: Das intensive studieren des Quellcodes lohnt sich!

Doch leider gibt es nicht nur erfreuliche Nachrichten. Aufgrund des neuen Webdesigns der Newsseite, sind noch nicht alle Features implementiert. So auch die RSS-Feeds. Dies erschwert das abfangen von neuen Artikeln. Mein workaround sieht vor, dass die Hautptressorts-Seiten regelmässig aufgerufen werden und alle Artikel, welche sich auf diesen Seiten befinden heruntergeladen werden (natürlich werden allfällige Duplikate vorab entfernt um nicht unnötig viele Anfragen an den Server zu schicken und um die Performance zu erhöhen). Noch unklar ist ebenfalls, in welchen Zeitabständen diese Prüfung stattfinden soll und in welchen Zeitabständen die Artikel nach erstmaligem Crawlen aufgerufen werden sollen. Kriesel sprach in seinem Vortrag von etwa 7 Mal (700’000 / 100’000 = 7 - duh). Meines Erachtens macht es Sinn, die Kommentar Seiten in einer höheren Frequenz zu besuchen um allfällige Löschungen festzustellen und die Dynamik besser festzuhalten. Eine definitive Antwort habe ich noch nicht, aber ich hoffe mit einer weiteren Nacht Schlaf eine Antwort auf diese Fragen zu haben.

Nun hoffe ich, dass der heute Start von SpaceX reibungslos klappt und dass das Wetter uns keinen Strich durch die Rechnung macht.

Previous
Previous

Crawler Complete

Next
Next

A new hope