[lang_en]Like I promised to my brother, I started working on a news feed for the marketplace of jzr-threewheeler.de. Contrary to my expectations the problem in this case was not so much the caching mechanism I had to implement. I had done that before and could reuse most of the code. What took me so long was the fact, that the marketplace page seems to be created and updated manually – resulting in an chaotic structure of both content and HTML. While containing over 181 000 lines only about 1 200 of them contain more than whitespaces actually. The content doesn’t follow any strict rule either. All this made it quite complex to write a good parser to process the information into a nice (and valid) feed.
Well, I managed to get it done and here it is:
http://threewheeler.feeds.kochs-online.net/jzr-threewheeler.xml
I hadn’t finished the work on this, when Adrian came up with the next task for me. He wanted to have a news feed to follow all recent posts at simsonforum.de. This was a way easier job to accomplish. Message board software does follow strict rules when compiling the pages so parsing them is quite easy because you don’t need to take all kinds of exceptions into account. So a set of simple rules is sufficient to process all the data. Using the board’s search function my PHP script downloads a list of all recently changed threads and generates the feed based on it. Because this produces quite heavy load on both involved servers (the forum’s and mine) results are cached for at least an hour before an update is made – another script using the caching code. 🙂
You can find this feed here:
http://simsonforum.feeds.kochs-online.net/simsonforum.xml[/lang_en]
[lang_de]Wie Adrian versprochen, habe ich mich um den Feed für den Marktplatz auf jzr-threewheeler.de gekümmert. Entgegen meiner Erwartungen war in diesem Fall nicht das Caching-Verfahren, das ich implementieren musste, das Problem. Ich habe bereits schon einmal eins entwickelt und konnte den meisten Code davon wiederverwenden. Was so lange gedauert hat, war der Umstand, dass die Marktplatzseite scheinbar von Hand aktualisiert und erstellt wird – was in einer chaotischen Struktur des Inhalts und des HTML-Codes resultiert. Während das Dokument derzeit über 181 000 Zeilen umfasst, enthalten lediglich knapp 1 200 davon tatsächlich etwas anderes als Whitespaces. Auch der Inhalt folgt keiner strikten Regel. All dies macht es ziemlich schwierig, einen guten Parser zu schreiben, der die Informationen zu einem schönen (und validen) Feed verarbeitet.
Na ja, Ich hab’s doch hinbekommen und hier ist er:
http://threewheeler.feeds.kochs-online.net/jzr-threewheeler.xml
Ich war noch nicht ganz fertig damit, als Adrian bereits den nächsten Auftrag für mich hatte. Er wollte gern einen Newsfeed, um die neusten Einträge auf simsonforum.de verfolgen zu können. Diese Arbeit gestaltete sich wesentlich einfacher. Die Software für Foren erzeugt alle Seiten nach strengen Regeln, so dass diese relativ einfach zu parsen sind, da man sich nicht um eine Menge Sonderbehandlungen kümmern muss. Daher reichen einige einfache Regeln aus, um die Daten zu verarbeiten. Mit Hilfe der Suchfunktion des Forums lädt mein PHP-Skript nun eine Liste aller kürzlich veränderten Themen herunter und erzeugt basierend darauf den Feed. Da dies jedoch einige Last auf beiden beteiligten Servern (dem des Forums und meinem) erzeugt, werden die Ergebnisse für mindestens eine Stunde im Cache gehalten bevor eine erneute Aktualisierung erfolgt – wieder ein Skript, dass den Caching-Code verwendet. 🙂
Der Feed kann gefunden werden unter:
http://simsonforum.feeds.kochs-online.net/simsonforum.xml[/lang_de]
Ein Kommentar
Schreibe einen Kommentar →