Python BeautifulSoup Duplikate ausfiltern

  • Hallo zusammen,

    ich hoffe ich stelle die Frage im korrekten Unterforum.

    Ich versuche grade mit Hilfe von BeautifulSoup einige URLs von Amazon Prime Instant Video zu erfassen. Das funktioniert soweit schon ganz gut.

    Der folgende Code:


    Gibt mir so eine Ausgabe:


    Wie man in der Ausgabe sehen kann, werden die Links doppelt ausgegeben und zusätzlich noch ein Link zu den Product Reviews. Das liegt wohl daran, dass sich die Verlinkungen alle in dem DIV befinden, dass ich oben abfrage.

    Wie wäre die Richtige Herangehensweise um die Ausgabe so zu filtern, dass nur noch ein Video Link angezeigt wird?

    Ich bin absoluter Python Noob und kenne mich dementsprechend schlecht aus. :D

    Viele Grüße

    elcravo

  • Du kannst deine Liste mit urls in ein "set" wandel dabei fallen Duplikate raus, aber die reihenfolge bleibt nicht erhalten. Das set kannst du dann wieder in eine liste wandeln.

    Die Product Reviews kann man wegbekommen indem man die Liste mit urls mit einer Schleife durchläuft. Und dann für jedes Element prüft ob es der String "/product-reviews/" enthält, wenn ja kannst du es per "liste.remove(element)" entfernen.

    Alternativ kann man statt Beautiful Soup auch regulräre Ausdrücke und das modul "re" nutzen, dann kann gleich festlegen, dass man Links die "/product-reviews/" enthalten nicht haben will.

    Das sind jetzt nur Vorschläge wie man vorgehen könnte für Alternativen einfach nach "python list remove duplicates" googlen.

  • Davon mal abgesehen habe ich das Bluecop Add-on schon fast fertig umgeschrieben. Leider gibt es noch kleinere Probleme mit Cookies, was sich aber lösen lässt. Das Json API ist besser für die Informationsgewinnung geeignet.

  • Hi,

    vielen Dank für die Antworten.

    @Membrane: Ich habe gesehen, dass du bereits an einem Prime Addon arbeitest. Das hier ist nur etwas das ich für mich mache um ein bisschen Python kennen zu lernen und soll sowieso nie das Licht der Öffentlichkeit erblicken.  :D
    Vermutlich wird da eh nie was fertiges draus.

Jetzt mitmachen!

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