Aufbau der Filmliste
-
Ich habe mir in den letzten Jahren etliche Filme via MV heruntergeladen - meist Reportagen und Dokus. Leider habe ich die Filminfos nicht kopiert und moechte diese jetzt aus den Filmlisten extrahieren. Sehr viele der Filme sind nicht mehr in der aktuellen Liste, so dass ich mir die alten Filmlisten aus dem Archiv heraussuchen muss. Ich weiss, dass das viel Arbeit ist, aber es muss nur einmal gemacht werden und ich habe Spass daran…
Meine Fragen:
1.) In der aktuellen Filmliste sind nur solche Filme, die noch zur Verfuegung stehen. Alle anderen werden entfernt. Ist das richtig?
2.) Die aktuelle Filmliste habe ich in eine Datenbank importiert. Nimmt man die " " -Zeichen als Feldtrennung, erhaelt man ca 50 Felder pro Datensatz. Gibt es eine eindeutige ID pro Film? In einem Feld ist eine 10-stellige Zahl, aber leider nicht eindeutig. In einem anderen Feld finde ich (vermutlich) den DL-link, z.B.: http://mediathek.rbb-online.de/tv/rbb-Gartenzeit/Tipps/rbb-Fernsehen/Video?documentId=37946568&topRessort=tv&bcastId=3913628. Ist die dort enthaltene documentId eindeutig ueber alle Sender? Falls nicht, wie kann ich einen Datensatz eindeutig identifizieren (ueber alle Filmlisten, d.h. diese ID muesste auch in alten Filmlisten wiederzufinden sein, falls der Film auch dort existiert.
3.) Gibt es eine Beschreibung ueber den Aufbau der Filmlisten? -
- Ja
- Nein, es gibt kein eindeutiges Feld in der Filmliste. Die selben URLs können mehrfach vorkommen. Die IDs in Parametern der Mediatheken sind, wenn überhaupt, nur pro Sender eindeutig.
In MVW 2 erstelle ich mir eine eindeutige ID so:
const urlsString = `${url_small}_${url}_${url_hd}`; const hashString = [entry.channel, entry.topic, entry.title, entry.timestamp, entry.duration, entry.website, urlsString].join(' _ '); const idBuffer = Crypto.createHash('sha1').update(hashString).digest(); entry.id = base62Encode(idBuffer);
Diese kann sich jedoch ändern, wenn die Sender bspw. den Titel anpassen würden.
- Du könntest dir den Parser von MVW 2 anschauen: https://github.com/mediathekview/mediathekviewweb/blob/backup/server/src/entry-source/filmlist/parser.ts
-
Danke fuer die Info. So etwas habe ich schon vermutet. Warum solten sich die Sender mit irgendwelchen IDs und templates fuer die URL absprechen? Und fuer MV waere der Aufwand viel zu gross, den Filmen eindeutige IDs zu geben.
Waere ja schoen, wenn man eine DB haette mit ALLEN Filmen. Aber dafuer ist die Anzahl der Interessenten zu gering.
Ich werde mir im ersten Schritt ausgewaehlte Filmlisten (vom 15. und 30. jeden Monats) aus dem Archiv ziehen und in eine DB einlesen. Dann werde ich wohl hoffentlich ueber 95% der fehlenden Beschreibungen erwischen. Ist halt viel Handarbeit… -
In MVW 2 (https://testing.mediathekviewweb.de/), habe ich die Möglichkeit mehrere Filmlisten zu importieren implementiert. (Momentan sind auch ~350k statt den aktuellen etwa 250k vorhandenen).
Wenn du mir die Filmlisten nennst, könnte ich was kleines schreiben um sie zu importieren und dann könntest du die Datenbank per Query unter https://testing.mediathekviewweb.de/dev oder alternativ per REST-API nach deinen gesuchten Beiträgen abfragen. Die Daten hast du dann im JSON-Format.
Mögliche Queries findest du hier: https://github.com/mediathekview/mediathekviewweb/blob/backup/common/search-engine/query/definition.ts
-
@bagbag
Danke fuer das Angebot!
Die Filmlisten von Maerz 2015 bis heute (jeweils vom 15. und 30. eines Monats) habe ich bereits heruntergeladen und auch schon teilweise in die DB importiert. Meine Filmesammlung umfasst zwar viele Filme, beschraenkt sich aber auf ca 60 Sender/Titel. Mit der Suche ueber den Filmtitel kann ich wohl fast alle Filme identifizieren und danach die Beschreibung aus der DB mit der Filmdatei verknuepfen.