Hallo,
bei meiner etwas größeren Mediensammlung (allein ~4,5k Filme) ist eine manuelle Verwaltung zeitlich mittlerweile nicht mehr zu bewältigen. Daher möchte ich gerne einen (halb-)automatisierten Ablauf umsetzen, der folgende Punkte berücksichtigt:
1. Anhand des Namens/Titels und Jahrs eine wirklich eindeutige ID herausfinden:
Da es trotz Titels und Jahrs nachwievor zu Mehrfachtreffern oder gar zu gar keinen Treffern kommen kann, ist hier leider eine einmalige, manuelle Kontrolle je Medium unausweichlich. Da aber ein Film (oder generell ein Medium) grundsätzlich nahezu niemals einmalig existiert, sondern in unterschiedlichsten Fassungen vorliegt (vor allem durch regionale Anpassungen und unterschiedliche Schnittfassungen), ist eine IMDb-ID (und all die Ableger wie OMDb usw.) nicht wirklich eindeutig. Dafür gibt es die weltweit eindeutige EIDR-ID. Die Verbindungen zu IMDb (usw.) finden sich dann am obersten, abstrakten Element.
Beispiel: The Dark Knight (2008)
- IMDb: 1 Eintrag
- EIDR: 1 Eintrag je Edit (abstraktes Elternelement mit sämtlichen IDs, deutsches Release)
D.h. man kann allein mittels einer IMDb (usw.) keine unterschiedlichen Versionen desselben Mediums sinnvoll und weltweit eindeutig verwalten. Aktuell dürfte Ember (und alle anderen Medienverwalter) dazu eine zusätzlich lokale ID nutzen, die zur automatisierten Ermittlung, ob eine Mediumfassung schon vorhanden ist, nicht genutzt werden kann.
Problem: EIDR bietet zwar eine recht umfassend dokumentierte API an, die aber wohl nur nach einem mir unklaren Registrierungsprozess genutzt werden kann.
Frage: Kennt jemand von euch EIDR und weiß genaueres über den Registrierungsablauf und die zugehörige API-Anbindung (am Besten per C# oder PHP)?
2. Vorhandenes Medium anhand der IMDb-ID scrapen
Über die EIDR-Elternelement-ID könnte man, wie erwähnt, die IMDb-ID ermitteln und dann alle zugehörigen IMDb-Daten scrapen.
Problem: IMDb bietet meines Wissens nach seit 2017 keine API mehr an, sondern nur wöchentlich aktualisierte, stark abgespeckte .tsv-Dateien, die man manuell herunterladen und in eine eigene Datenbank überführen müsste. Diese Dateien haben darüber hinaus auch eine gänzlich andere Struktur als die noch verfügbaren .list-Dateien, die den Datenbestand von IMDb bis 2017 beinhalten. Es ist mir leider keine freie alternative API bekannt, die die Datenbestände zusammenführt bzw. die in den .tsv-Dateien fehlenden Informationen von IMDb ergänzt.
Frage: Wie wurde bei Ember dieses Problem gelöst? Ich vermute, dass das Scrapen über Webseiteninhalte stattfindet, was nicht nur sehr lange dauert, sondern seitens IMDb auch verboten ist.
Zusatzfrage: Alternativ würde ich gerne wissen, welche freie API existiert, anhand derer sich zumindest die IMDb-ID anhand des Namens und Jahrs feststellen ließe und gibt es eine Dokumentation zur Anbindung dieser API?