Dieses kleine Projekt entstand aus zwei Überlegungen:
- das Highlight jeder taz-Ausgabe ist der tägliche Touché von tom
- die einfachste Art Neuigkeiten zu folgen ist ein RSS-Feed
Leider bietet die taz keinen dedizierten Feed für den Touché an. Zum Glück gibt es aber eine Software namens RSS-Bridge, die Tools bereitstellt, um eine Website zu scrapen und einen RSS-Feed zu erstellen.
Ich habe mich am Wochenende also etwas mit RSS-Bridge beschäftigt und eine Bridge erstellt. Ich musste mich ein paar Stunden in das System einarbeiten, dann war es nicht sehr schwer, einen Feed für den Touché zu programmieren.
<?php class TomsToucheBridge extends BridgeAbstract { const NAME = 'Toms Touché'; const URI = 'https://taz.de/#!tom=tomdestages'; const DESCRIPTION = 'Your daily dose of Toms Touche.'; const MAINTAINER = 'latz'; const CACHE_TIMEOUT = 3600; // 1h public function collectData() { $url = 'https://taz.de/'; $html = getSimpleHTMLDOM($url); // Docs: https://simplehtmldom.sourceforge.io/docs/1.9/index.html $date = $html->find('p[x-ref]'); $date = trim($date[0]->innertext); [$day, $month, $year] = explode('.', $date); $image = $html->find('img[alt="tom des tages"]'); $item = []; $item['title'] = "Toms Touché - $date"; $item['uri'] = 'https://taz.de/#!tom=tomdestages'; $item['timestamp'] = mktime(0, 0, 0, $month, $day, $year); $item['content'] = $image[0] . '</img>'; // This isn't good HTML style, but at least syntactically correct $item['uid'] = $image[0]->getAttribute('src'); $this->items[] = $item; } }
Nachdem ich den Pull Request am 3. Februar eingereicht hatte, wurde er gestern (6. März) in das Projekt gemerged. Falls Du also auch gerne den tägliche Touché in Deinem Feedreader haben möchtest, installiere Dir RSS-Bridge und nutze die Touché-Bridge.
(Photo by AbsolutVision on Unsplash)