WebGrab+Plus – a multi site incremental xmltv epg grabber.

0

 

Webgrab+plus sammelt TV-Programminformationen von ausgewählten TV-Zeitschrift Internetseiten und speichert diese auf unserem Server in einer guide.xml Datei ab.

Diese Datei lässt sich später in TVh importieren um den Channels die neue EPG-Quelle zuweisen zu können.

 

Diese Guide Informationen sind meist wesentlich umfangreicher als welche, die über Satellit zu Verfügung stehen. mit Season + Episoden Nummern, was eine Serienaufnahmen Programmierung wesentlich einfacher gestaltet.

Zudem hübscht es TV Programminformationen mit Film/Serien-Bildern auf.

Kommen wir zu der installation (angelehnt an Teil 1, Tvheadend)

  1. Installation WebGrabPlus+
  2. Installation der site.ini.pack
  3. Konfiguration der Kanäle
  4. Installation meines Genre Mappers
  5. Installation vom tv_grab_wg++ Grabber für Tvh
  6. Cron Autostart Konfigurieren.

ab in die Konsole ?

 

1.1 Installation WebGrabPlus+

 

sudo -s

cd /var/spool/hts
apt-get install mono-complete
wget http://www.webgrabplus.com/sites/default/files/download/SW/V2.1.0/WebGrabPlus_V2.1_install.tar.gz
tar -xvf WebGrabPlus_V2.1_install.tar.gz
rm WebGrabPlus_V2.1_install.tar.gz
mv .wg++/ wg++
cd wg++
./install.sh

WebGrabPlus ist nun in /var/spool/hts/wg++ installiert !

 

1.2 Update WebGrabPlus+

cd /var/spool/hts
wget http://webgrabplus.com/sites/default/files/download/SW/V2.1.5/WebGrabPlus_V2.1.5_beta_install.tar.gz
tar -xvf WebGrabPlus_V2.1.5_beta_install.tar.gz
cp -R .wg++/* wg++/
rm -rf .wg++

 

2. Installation der siteini.pack

Wir bleiben als root im Verzeichniss /var/spool/hts/wg++

Wir entfernen das "ungepflegte" alte site.ini.pack und installieren ein aktuelles aus meinem Github Repository (ich halte nur Horizon aktuell)

cd /var/spool/hts/wg++
rm -rf siteini.pack/
git clone https://github.com/DeBaschdi/webgrabplus-siteinipack.git
cp -R webgrabplus-siteinipack/siteini.pack/ siteini.pack
cp siteini.pack/International/horizon.tv.* siteini.user/

 

3. Konfiguration des WebGrab++

Anmerkung : WebGrab++ verwendet alle Dateien im Unterordner siteini.user

-Dort befindet sich jetzt die horizon.tv.ini , diese Datei enthält Informationen wie auf der Horizon Homepage der Grabber arbeiten muss, um später auch eine XML zu bekommen!

-Die andere Datei, horizon.tv.channels.xml enthält alle zur Verfügung stehenden Kanäle von der Horizon Homepage, (manche sind mehrfach vorhanden, da es verschiedene Sprachen gibt, uns interessieren allerdings nur die Deutschen, kenntlich mit "site_id="DE/deu")

Jetzt müssen wir uns überlegen welche Kanäle wir ein EPG von Horizon spendieren wollen, dazu ist die Datei WebGrab++.config.xml zuständig , diese befindet sich direkt in /var/spool/hts/wg++/

Wir öffnen diese Datei in einem Editor und editieren wie folgt für beispielsweise ARD + ZDF +HR :

<?xml version="1.0"?>
<settings>
   
  <!-- for detailed info about the settings see http://webgrabplus.com/documentation/configuration/webgrabconfigxml -->
   
  <filename>guide.xml</filename>
  <mode>nomark</mode>
  <postprocess grab="y" run="n">mdb</postprocess>
  <user-agent>Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0</user-agent>
  <logging>on</logging>
  <retry time-out="5">4</retry>
  <timespan>7</timespan>
  <update>i</update>
 
  <!--
            Replace the next dummy channel entry with the channels you want.
                        You can look into the installed siteini.pack folder on your computer
  
            For the latest version,
            see http://webgrabplus.com/epg-channels for the available sites/channels
  -->
  
    <channel update="i" site="horizon.tv" site_id="DE/deu_29438503040__https://wp2-images-de-dynamic.horizon.tv/ChannelLogos/02/daserste_hd.png" xmltv_id="Das Erste HD">Das Erste HD</channel>
    <channel update="i" site="horizon.tv" site_id="DE/deu_29438503164__https://wp21-images-de-dynamic.horizon.tv/ChannelLogos/02/zdf_hd.png" xmltv_id="ZDF HD">ZDF HD</channel>
    <channel update="i" site="horizon.tv" site_id="AT/deu_554823718962__https://wp17-images-at-dynamic.horizon.tv/Logos/1017.f.png" xmltv_id="hessen fernsehen">hessen fernsehen</channel>
 
</settings>

Wollen wir mehrere Kanäle hinzufügen, kopieren wir uns die einzelnen gewünschten Zeilen aus der horizon.tv.channels.xml in die WebGrab++.config.xml mit copy + paste.

<mode>nomark</mode> ----bedeutet das neue Inhalte nicht mit einem (n) versehen werden.
<timespan>7</timespan> -----8 Tage EPG im Voraus (0 heute)
<update>f</update> full update.. oder auch >i< inkrementales

 

3.1 Verzeichniss an user hts übergeben, und als user hts eine guide.xml erstellen

chown -R hts:users /var/spool/hts/wg++
sudo -u hts /var/spool/hts/wg++/run.sh

 

Anschließend startet der Grabber und wird für die 3 Kanäle ca 5 Minuten brauchen.

 

Die erstellte guide.xml befindet sich in /var/spool/hts/wg++/guide.xml

 

4. Installation meines Genre Mappers

dieser ermöglicht uns die Anzeige der Content Icons in Tvheadend, sowie Die Möglichkeit ein farblich gekennzeichnetes EPG in Kodi zu bekommen.
Vorraussetzung dafür wäre das unsere guide.xml im abschnitt <category> die genormten EIT Genre beinhaltet.

So ziemlich alle TV-Guide Internetseiten auf denen webgrabplus+ grabbt haben ihre eigenen Category/Genre Definitionen, also ein großes durcheinander außerhalb der NORM!
Beispielsweise führt Horizon das genre "Kinder, 10 16"
damit können aber tvheadend und kodi nichts anfangen.

Mein Script würde beispielsweise das gegrabbte "Kinder, 10 16" nach EIT NORM ""Entertainment programs for 10 to 16" mappen.

Da das Script in Perl geschrieben ist, verlangt es nach einem installierten Perl.

 

cd /var/spool/hts/wg++/bin/
apt-get install perl
wget -O /var/spool/hts/wg++/bin/genremapper.pl https://takealug.de/wordpress/downloads/genremapper.txt
chown hts:users genremapper.pl
chmod a+x genremapper.pl

 

5. Installation vom tv_grab_wg++ Grabber für Tvh

wget -O /usr/bin/tv_grab_wg++ http://www.webgrabplus.com/sites/default/files/tv_grab_wg.txt
chmod a+x /usr/bin/tv_grab_wg++
joe /usr/bin/tv_grab_wg++

 

Folgende 2te Zeile bearbeiten, abspeichern :

xmltv_file_location=/var/spool/hts/wg++/guide-mapped.xml

 

6. Cron Autostart Konfigurieren

Wir erstellen uns ein Script, welches Cron zur angegebenen Zeiten starten soll.

Das Script soll erst den WebGrabPlus+ grabben lassen, anschließend soll mein Genre mapper drüber laufen.

cd /var/spool/hts/wg++/bin/
joe epgloader.sh

 

Folgenden Inhalt einfügen, abspeichern

#!/bin/sh

## aufräumen ##
rm /var/spool/hts/wg++/guide-mapped.xml

## webgrab+ starten ##
sudo -u hts /var/spool/hts/wg++/run.sh

## genremapper drüber laufen lassen ##
sudo -u hts /var/spool/hts/wg++/bin/genremapper.pl < /var/spool/hts/wg++/guide.xml > /var/spool/hts/wg++/guide-mapped.xml
chown -R hts:users /var/spool/hts/wg++/guide-mapped.xml

 

Rechte anpassen, Datei ausfürbar machen :

chown hts:users epgloader.sh
chmod a+x epgloader.sh

 

Jetzt testen wir unser Script, und schauen ob eine guide-mapped.xml in /var/spool/hts/wg++ erstellt wird.

 

/var/spool/hts/wg++/bin/epgloader.sh

 

In dem Script ist eine "warnung" eingebaut, die euch informiert falls ein genre gefunden wurde, für das es keine definition zum mappen gibt.
Diese neue Definition könnt ihr im Script selbst hinzufügen.
Ich hoffe das Script ist selbsterklärend, sodass ihr es selbst "aktuell" halten könnt.

 

Wenn alles zu unsrer Zufriedenheit geklappt hat, editieren wir unser Cron.

Cron von root editieren

crontab -e -u root

Folgendes anpassen, abspeichern, wichtig ist, dass der Cursor in der letzten freien Zeile steht beim abspeichern, siehe Screenshot

 

In diesem Beispiel wird das Script täglich um 4:30 ausgeführt.

 

 

 

 

 

 

 

 

Anmerkung : erster Tab steht für Minuten, der Zweite für die Stunde.

 

 

!!FAST GESCHAFFT!!

Jetzt starten wir tvheadend neu, und deaktivieren alle grabber, bis auf einen, und zwar unseren neuen internen, den tv_grab_wg++

 

service tvheadend restart

 

mit Firefox http://deine-server-ip:9981/tvheadend aufrufen, als Admin anmelden, folgende Konfigurationen übernehmen, abspeichern :

 

Hier deaktivieren wir auch den OTA Grabber, der auch als Cron Dienst über TVH läuft, aktivieren aber den internen Grabber und stellen die Cron Zeit ca 3H später ein, als wg++ startet.

Beispiel : unser wg++ grabbt um 4:30, bei entsprechender Anzahl der Kanäle dauert es eben bis er fertig ist.

Bei Ca 40 Kanälen kommen wir mit einem Versatz von ca 3H gut hin, starten den internen tvh grabber also um 7:30!

 

Mit einem Klick auf "internen grabber neustarten" liest Tvheadend die EPG Kanäle aus der XML ein, diese tauchen im Reiter "EPG Grabber Kanäle" anschließend auf.

Jetzt müssen wir lediglich, als letzten schritt unser XML-EPG den Kanälen zuweisen,

 

Folgende Konfiguration im Reiter Kanäle vornehmen :

 

 

 

Sind alle "3" Kanäle zugewiesen, speichern wir ab, und starten den internen Grabber erneut.

Jetzt sollte das EPG eingelesen sein.

 

JIPPIII Geschafft!!!!! 🙂

 

Unsere Belohnung Sieht in Kodi so aus : EIN SEXY EPG

 

Forums Diskussion zum Beitrag https://takealug.de/wordpress/community/diskussionen-zu-beitraegen-webgrab/anleitung-zu-webgrab/#post-5

 

 

 

Related Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.