Wunschfeature: unscharfe Suche

  • Nachdem ich nun meine ganzen Filme durchgejagd habe, mußte ich feststellen, dass so ca 30 davon (sind über 7000, also schon eine recht ansehliche Trefferquote) nicht gescraped werden konnten.

    Ursache war bei allen: "falsches" Jahr

    (ich wähle deshalb bewußt die Anführungszeichen, weil dieselbe Jahreszahl durchaus von anderen Tools wie z.B. Kodi gefunden wird, es handelt sich also offensichtlich um eine unterschiedliche Bewertung der Daten, bzw. verschiedene Datenbanken, bzw. eventuell verschiedene Felder (Herstellungsjahr? Jahr der Uraufführung? nichts genaues weis man nicht)

    Also ist wohl auch in Zukunft davon auszugehen, dass immer ein gewisser Prozentsatz Probleme aufwerfen wird.

    Nun glaube ich, es wäre kein wirklich großer Zusatzaufwand, wenn man die Suche etwas relaxter gestalten würde:

    1. Suche Name,Jahr
    2. Wenn kein Match, dann Suche Name,(Jahr-1)
    3. Wenn kein Match, dann Suche Name,(Jahr+1)

    Nicht wirklich kompliziert zu implementieren würde ich sagen, mit den drei Fällen würde ich aber hier 100% aller Filme erschlagen können.

    Bei Mehrdeutigkeiten wie gewohnt natürlich die manuelle Auswahl, aber wenn gar nichts gefunden wird, dann kann man ja ruhig den nächsten Versuch starten.

    (Achtung! nicht rekursiv implementieren, +/-1 sollten ausreichen, wenn die Divergenz grösser ist, soll ruhig wieder der Anweder eingreifen müssen)

  • Ok, ich hab ein wenig gelesen und mußte leider feststellen, dass die Sucherei, bzw. die Ergebnisbewertung, nicht trivial ist, da die Suche asynchron erfolgt.

    Die aufrufende Routine wartet also gar nicht die Ergebnisse ab, es kann somit nicht einfach "wenn nichts da ist, dann suche Jahr+/-1" programmiert werden.

    Schade eigentlich, na ja, vielleicht fällt mir noch was ein in der Richtung...

    hmm, vielleicht doch... da ist ja das fallback auf englisch, da müsste man sich mal analog reinhängen... AUSPROBIEREN :-)))

  • Das war ja einfach :)
    Man mußte nur ein paar Zeilen kopieren (jaja, ich habs gelesen, dass soll man nicht, aber ich bin in guter Gesellschaft, an der Stelle habt ihr schon selbst kopiert, da machen meine Variationen den Kohl nicht mehr fett) und dabei jeweils nur die Jahreszahl variieren, und schon fluppt es!

    Und eigentlich hat das auch nix mit "unscharfer Suche" zu tun, denn eine unscharfe Suche würde die Gesamttreffermenge erweitern, hier wird ja nur nach Variationen gesucht, solange KEIN Ergebnis gefunden wurde zuvor.

    Ich hab das im Moment nur für TMDB gemacht, ich geh mal davon aus, dass ähnlicher Code bei IMDB zum Einsatz kommt und auch so erweitert werden muß. Muss ich morgen mal reingucken.

    Und keine Angst, ich halte mich von dem "Pull Request" Knopf weit entfernt, dieses GitHub mag mich wohl nicht, und irgendwie beruht das auf Gegenseitigkeit :) (Anders formuliert: ich bin zu doof um zu kapieren, was das Teil von mir will und offensichtlich habe ich ja nur die Basisversion erhalten, ohne irgendwelche Updates)

    Aber wenn Du mal gucken willst: clsScrapeTMDB.vb,Zeilen ab 1434 einfügen

    und dasselbe nochmal wiederholen mit jeweils iYear + 1.

    (Kann man auch in ner Schleife mache, sieht dann aber recht komisch aus, weil der Schleifenindex 0,-1,+1 laufen müsste, da ja das angegebene Datum auf jeden Fall Vorrang haben muß)

    Ach ja, in derselben Datei findest Du eine Funktion "FindYear". Schau sie Dir mal bitte an und überlege vielleicht, sie mal neu zu schreiben. Das. was da steht, ist... nun ja... sagen wir mal so... es zaubert mir kein Lächeln aufs Gesicht und ich kann Dir hier spontan mindestens 100 Filme raussuchen, an denen sie kläglich scheitern wird...
    Besonders den Kommentar dort "'let's assume there are no movies older then 1950"
    finde ich doch reichlich beängstigend...

    2 Mal editiert, zuletzt von mam (3. Februar 2016 um 21:57)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!