Heise-Newsticker parsen
Als erste Newsquelle zum automatischen Abholen habe ich mir den Heise-Newsticker rausgesucht.
Der robots.txt erlaubt den Zugriff auf /newsticker/ und die einzelnen News, so dass das automatische Abholen erlaubt ist.
Holen der /newsticker/-Indexseite und das Extrahieren der URLs und Titel der einzelnen Meldungen war mit regulären Ausdrücken schnell gemacht.
Erstes Problem war dann meine eigene HTTP-Klasse zum Abholen der HTML-Seiten. Eigentlich sollte es damit reichen, einmal die Verbindung zum Server mit connect() aufzubauen und dann über diese einmalig aufgebaute Verbindung 'beliebig' viele Seiten mit request() abzuholen. Das wollte aber nicht funktionieren. Statt die Klasse nun zu Debuggen hab ich das Abholen in eine getPage() Funktion verschoben, die für jede Seite die Verbindung aufbaut und wieder schließt. Zum Testen benutze ich eh erstmal den Cache-Proxy hier auf meinem Rechner, so dass das zunächst mal nicht weiter stört.
Beim Parsen der News zum Extrahieren von Titel, Datum/Uhrzeit, Newstext usw. habe ich nun das Problem, dass die Seiten unterschiedlicher sind als ich angenommen habe. Eigentlich dachte ich es wäre mit zwei Versionen, einmal für die normalen News und dann für die zu speziellen Themen wie derzeit die Systems-Messe, getan. Doch innerhalb dieses beiden Fällen gibts mehr Unterschiede als ich erwartet hatte. Und nun wird der erste Ansatz allein mit regulären Ausdrücken umständlicher als gedacht. Mit readLine(), um den Inhalt grob zeilenweise vorzufiltern wärs einfacher. Ich werde jetzt aber erstmal mit den jetzigen Ansatz weitermachen, um nicht gleich komplett neu anzufangen, und hoffe mal, dass das so noch einigermaßen übersichtlich abläuft.
