Dienstag, 14. Mai 2013

Fernsehzeitung parsen


Fernsehzeitung parsen

um über EVACmd eine Vorhersage von aktuellen und interessanten TV-Sendungen zu treffen habe ich versucht eine Internetseite (www.tvtoday.de) zu parsen.
die Inhalte auf der Internetseite werden sehr einfach und sehr strukturiert ausgegeben, weshalb man mit einfachen Mitteln (Dom-Browser über F12 in Firefox), einer Settings.xml für die Einstellungen und etwas Zeit zum anlernen eine passende Liste für die interessanten Sendungen des Tages herausbekommt.
Als Vorbereitung muss auf der Internetseite der Sender gesucht werden, den man parsen möchte z.B. RTL. Als Anzeige bekommt man den Sender RTL und ein paar weitere Sender in weiteren Spalten.
Diese müssen dann nicht extra definiert werden. am besten man sucht sich Sender aus, bei denen auch gleich andere gewünschte Sender folgen.
Diesen Sender tragen wir dann in die Konfigurations-XML im Knoten "Fetch" ein.
Beim start des Programms werden alle Fetch knoten durchlaufen und eine Gesamtliste aller Sender und Sendungen erstellt.
Danach folgen die Definitionen, was wir gerne sehen würden.
Die Einstellung beginnt mit "Channel" wo wir in die Attribute "Name" den Namen des Senders eintragen. Zu jedem Sender können wir uns jetzt Wunschsendungen definieren. dazu legen wir einen Knoten mit dem Namen "Settings" an, der je Wort einen Knoten mit dem Namen "Text" und ein Attribut "Rule" enthält.
Als Regel kann "Include" oder "Exlude" angegeben werden. die Regeln werden als "und" ausgeführt. Sprich bei 2 includes muss der Text der Sendung für den Sender beide Worte enthalten.
Bei Exclude werden alle Sendungen gelöscht, die ein Wort aus Exclude enthalten.

Eine Beispielkonfiguration für alle Dokusendungen auf RTL2 (jedoch keine Soaps, Tier, Kultur oder Reisedokus) sieht z.B. so aus:

<TVP>
    <Fetch Name="SAT1"/> <!--Kabel1, RTL2, VOX,3SAT-->

    <Channel Name="RTL2">
        <Setting>
            <Text Rule="Include">Doku</Text>
            <Text Rule="Exclude">soap</Text>
            <Text Rule="Exclude">tier</Text>
            <Text Rule="Exclude">reise</Text>
            <Text Rule="Exclude">kultur</Text>
        </Setting>
        <Setting>
            <Text Rule="Include">Reportage</Text>
            <Text Rule="Exclude">tier</Text>
            <Text Rule="Exclude">reise</Text>
            <Text Rule="Exclude">kultur</Text>
        </Setting>
    </Channel>   

</TVP>


Das Programm, um die TV-Sender zu parsen wird demnächst in EVACmd unter den Modulen zu finden sein.

https://sourceforge.net/projects/evacmd/files/Plugins/

Keine Kommentare:

Kommentar veröffentlichen