Heise-Newsticker: Werbung
Hatte heute erstmal versucht, den Fehler in ydHTTP.php bei mehreren Requests über eine Verbindung zu beheben und dann den IVW-Counter sowie die Werbung bei den Heise-Newsmeldungen extrahiert.
Persistente Verbindung:
Um nicht laufend mit connect() und disconnect() die Verbindung
zum Server Auf- und Abzubauen soll sie nur einmal hergestellt
werden und die einzelnen Requests zum Abholen der verschiedenen
Seiten über diese eine Verbindung erfolgen (persistente Verbindung).
Das scheiterte erstmal, weil ich die Startseite Zeile für Zeile einlas und nach dem erfolgreichen Einlesen aller Meldungen stoppte. So gabs noch eine Reihe von Daten, die der Server ans Skript schickte, die nicht abgeholt worden sind, so dass der gleich darauf folgende Request nicht funktionieren konnte.
Also, ein Flag eingefügt, dass sich merkt, ob schon alle Daten übertragen worden sind und eine Funktion, die man aufrufen kann, um das Abholen aller Daten abzuschließen (finishRequest()).
Nur damit war das Problem noch nicht gelöst. Nachfolgende Requests wollen weiterhin nicht funktionieren. Wieso weiß ich bisher nicht. Da müsste ich anhand eines vereinfachten Skripts noch mal rumprobieren.
Werbung und IVW-Counter:
Da sich die meisten Newsdienste über Werbung finanzieren, soll auch
diese abgeholt werden. Hierfür ist zudem der
IVW-Counter wichtig, der
erfaßt wie oft eine Seite aufgerufen wird und entsprechend für
die Werbung wichtig ist.
Das Extrahieren der Links war mit regulären Ausrücken kein großes Problem. Durch die verschiedenen Kombinationen aus Banner oben, Skyscraper rechts und Werbung innerhalb des Meldungstextes aber etwas trickier.
Abholen war dann nicht so einfach, weil dies sowohl bei den Grafiken für die Werbung als auch den verschiedenen One-Pixel-Image-Countern (IVW und für die Werbung gibst auch nochmal extra welche) über Redirects läuft und die werden von meiner eigenen HTTP-Klasse noch nicht unterstützt, so dass das noch erweitert werden muss. Ein sinnvolles Cachen des Grafiken müsste dann auch noch eingebaut werden.
Womit das Skript dann deutlich mehr macht und mehr Daten von mir liefert als wenn ich den Heise-Newsticker per Browser lesen würde. Da habe ich die Grafiken nämlich in der Regel ausgestellt, so dass sich die Seite schneller aufbaut, womit der IVW-Counter z.B. nicht aufgerufen wird. Das soll sich, inklusive der Werbegrafiken, dann in verschiedenen Stufen im fertigen Skript nach belieben einstellen lassen.
Kimbro Staken, "DRM sucks", 29-Oct-2003:
You see this music has a wonderful feature called Digital Rights Management (DRM) which as far as I'm concerned exists for the sole purpose of screwing the people who actually pay for music. After installing Panther, iTunes is now complaining that my machine is not activated for my music. So even though it's the same machine, the same music and music I paid way too much money for, I can't play it without jumping through a bunch of hoops.
