Freie News für freie User – Schneller als die Paywall

Gepostet in: Internet

Wie ich mein persönliches Problem mit der Paywall eines Nachrichtenmagazins gelöst habe, erfährst Du im nachfolgenden Artikel.

Ich habe im Prinzip nichts gegen Paywalls, aber speziell bei Artikeln des hiesigen Käseblatts „Kieler Nachrichten“ habe ich damit so meine Probleme. Das mag u. A. an der schlechten Recherche für deren eigenen Artikel liegen, als auch an der Einseitigkeit mit der teilweise berichtet wird. Das ist grundsätzlich ein anderes Thema, soll aber hier ein wenig mitbegründen, warum ich mich entschlossen habe, der KN-Paywall in Teilen den Kampf anzusagen.

Dabei war der eigtl. Kampf eher der, der gegen meine PHP-(Un)-Fähigkeiten zu führen war.

Aber eines nach dem anderen.

Die KN haben – wie fast alle angehörigen Nachrichtenhäuser – beschlossen, ihre Artikel (bis auf wenige Ausnahmen) zwar als sog. „Plus“-Artikel jedoch erstmal ohne Paywall zu veröffentlichen. Die Paywall wird dann meist nach 30-60 Minuten später aktiviert. Wer also die Seite in sehr kurzen Abständen aufsucht, kann unter Umständen alle Artikel vor Aktivierung der Paywall lesen. Umständlich. So viel Zeit hat doch niemand.

Zum Glück bieten die KN einen RSS-Feed an, der alle Artikel führt.

Was läge da wohl näher, als diesen Feed in regelmäßigen, kurzen Abständen aufzurufen, zu prüfen, ob neue Artikel veröffentlicht wurden, diese einzulesen und in eine Datenbank zu speichern, damit man zu einem späteren Zeitpunkt in Ruhe „Zeitung lesen“ kann?

Nix, genau!

Also hingesetzt, gefrickelt, Daten gesammelt, ausgewertet, Daten verworfen, nochmal gefrickelt und irgendwann zufrieden gewesen.

Herausfordernd war es, festzustellen, dass es offenbar „legal“ ist, mehrere <article>-Abschnitte zu verwenden. Das hatte ich initial nicht berücksichtigt und nur per strpos() jeweils das erste Vorkommen von <article> bzw. </article> gesucht, um daraus den zu speichernden Abschnitt zu bestimmen.
strrpos() ist zumindest für </article> deutlich sinnvoller. Wieder was gelernt.

Auch neu für mich war die Manipulation von HTML mittels der DOMDocument- und der DOMXPath-Klasse. War halt auch ein wenig Frickelei, aber dafür ist der Code, den ich abspeichere nicht so aufgeblasen und nimmt weniger Platz ein.

Wo wir gerade von Platz sprechen. Es kostet unglaublich viel Zeit bzw. funktioniert kaum, eine 5 GiB große MariaDB mit entsprechenden Indizes um eine Spalte zu erweitern, wenn die MariaDB bloß in so einem Webspace läuft.

Die Ergänzung ist notwendig geworden, da bei der Auswertung der initial gesammelten Daten, aufgefallen war, dass die Mitarbeitenden der KN gerne mal Artikel aus irgendwelchen Gründen aktualisieren und diese aktualisierten Artikel dann erneut in den RSS-Feed rutschen. Zum Glück gibt es einen eindeutigen Identifier in der URL, welchen man extrahieren und zur Prüfung hernehmen bzw. abspeichern kann. Wenn man denn von Anfang an eine entsprechende Spalte vorgesehen hätte.

Und nun habe ich mein eigenes KN-Offline und kann 95% der Artikel lesen, ohne Stress zu haben.

Beispiel-Artikel in kn-offline

Das war jetzt ganz viel Blabla. Jetzt nochmal in kurz:

Flowchart des Scripts
Flowchart des Scripts

Die Menschen von KN scheinen mit dem Speichern von Artikeln übrigens cool zu sein:

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://twitter.com/kn_online/status/1782431970057679117

Wenn Dir dieser Beitrag geholfen hat und/oder Du mich finanziell unterstützen magst, kannst Du dies gerne per Paypal machen.

Bei Paypal spenden


Alternativ kannst Du Dir meinen Amazon-Partnerlink in die Favoriten legen und Amazon bei Deinen zukünftigen Einkäufen darüber aufrufen:

Amazon Partnerlink

Es entstehen Dir dadurch keine Mehrkosten, ich erhalte aber eine kleine Provision.


Über einen Kommentar freue ich mich natürlich auch :-)


The following two tabs change content below.

Jan B-Punkt

CEO, bitch!
Ich bin Jan, der Hauptakteur bei janbpunkt.de. Naja, eigtl. bin ich sogar der einzige Schreiberling hier. 1980 in Eckernförde geboren, lebe ich aktuell in Kiel und habe Spaß an Technik, Gadgets und dem Internet. Außerdem fotografiere und zocke ich gern. Verständlich, dass die meisten Artikel sich daher auf eben jene Themen beziehen.
Abonnieren
Benachrichtige mich bei
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
Zeige alle Kommentare