Wie kann ich mit Python programmgesteuert Bearbeitungsverlaufsseiten von MusicBrainz abrufen?

StackOverflow https://stackoverflow.com//questions/9645426

  •  10-12-2019
  •  | 
  •  

Frage

Ich versuche, Bearbeitungsverlaufsseiten programmgesteuert von der MusicBrainz-Website abzurufen.(musicbrainzngs ist eine Bibliothek für den MB-Webdienst und der Bearbeitungsverlauf ist über den Webdienst nicht zugänglich.Dazu muss ich mich mit meinem Benutzernamen und Passwort auf der MB-Website anmelden.

Ich habe versucht, das zu verwenden mechanize Modul und über das zweite Formular der Anmeldeseite (das erste ist das Suchformular) gebe ich meinen Benutzernamen und mein Passwort ein;Aus der Antwort geht hervor, dass ich mich erfolgreich auf der Website angemeldet habe.Eine weitere Anfrage an eine Bearbeitungsverlaufsseite löst jedoch eine Ausnahme aus:

mechanize._response.httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt

Ich verstehe die Ausnahme und den Grund dafür.Ich übernehme die volle Verantwortung dafür, die Website nicht zu missbrauchen (schließlich wird jede Nutzung mit meinem Benutzernamen gekennzeichnet). Ich möchte nur vermeiden, dass ich eine Seite manuell öffne, den HTML-Code speichere und ein Skript auf dem gespeicherten HTML-Code ausführe.Kann ich den 403-Fehler beheben?

War es hilfreich?

Lösung

Wenn Sie die Website umgehen möchten robots.txt, Sie können dies erreichen, indem Sie es Ihrem sagen mechanize.Browser das ignorieren robots.txt Datei.

br = mechanize.Browser()
br.set_handle_robots(False)

Darüber hinaus möchten Sie möglicherweise den Benutzeragenten Ihres Browsers ändern, damit Sie nicht wie ein Roboter aussehen:

br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

Bitte beachten Sie, dass Sie damit der Website tatsächlich vorgaukeln, Sie seien ein gültiger Kunde.

Andere Tipps

Die bessere Lösung besteht darin, die Roboters.txt-Datei zu respektieren und einfach die Bearbeitungsdaten selbst herunterzuladen und nicht den Screen Screape MusicBrainz.Sie können den vollständigen Bearbeitungsverlauf hier herunterladen:

ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fulllexport

Suchen Sie nach der Datei mbdump-edit.tar.bz2.

Und als Anführer des MusicBrainz-Teams möchte ich Sie bitten, Robots.txt zu respektieren und die Bearbeitungsdaten herunterzuladen.Das ist einer der Gründe, warum wir die Bearbeitungsdaten herunterladen können.

danke!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top