Comment récupérer par programmation de l'édition de pages de l'histoire de MusicBrainz à l'aide de python?

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

  •  10-12-2019
  •  | 
  •  

Question

Je suis en train de récupérer par programmation de l'édition de pages de l'histoire de la MusicBrainz site web.(musicbrainzngs est une bibliothèque pour le MO de service web et de l'édition de l'histoire n'est pas accessible à partir du service web).Pour cela, j'ai besoin de vous connecter à la MO site web à l'aide de mon nom d'utilisateur et mot de passe.

J'ai essayé d'utiliser le mechanize module, et à l'aide de la page de connexion de la deuxième forme (le premier est le formulaire de recherche), je vous soumets mon nom d'utilisateur et mot de passe;à partir de la réponse, il semble que j'ai réussi à vous connecter au site;cependant, une nouvelle demande pour une édition de l'histoire de la page soulève une exception:

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

Je comprends l'exception et de la raison.Je prends l'entière responsabilité pour ne pas abuser du site (après tout, toute utilisation seront marqués avec mon nom d'utilisateur), je veux juste éviter de l'ouvrir manuellement une page, l'économie de l'HTML et de l'exécution d'un script sur le HTML enregistré.Puis-je surmonter l'erreur 403?

Était-ce utile?

La solution

Si vous voulez contourner le site de l' robots.txt, vous pouvez atteindre cet objectif en racontant votre mechanize.Browser pour ignorer l' robots.txt fichier.

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

En outre, vous pouvez modifier votre navigateur de l'utilisateur de l'agent de sorte que vous ne regardez pas comme un robot:

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')]

S'il vous plaît être conscient que lorsque vous faites cela, vous êtes en train de tromper le site en pensant que vous êtes un client valide.

Autres conseils

La meilleure solution consiste à respecter le fichier robots.txt et à télécharger simplement les données d'édition lui-même et non à l'écran Scrape MusicBrainz.Vous pouvez réduire l'historique des modifications complètes ici:

ftp://ftp.musicbrainz.org/pub/musicBrainz/Data/fullexport

Recherchez le fichier mbdump-edit.tar.bz2.

Et, en tant que chef de l'équipe MusicBrainz, j'aimerais vous demander de respecter les robots.txt et téléchargez les données Modifier.C'est l'une des raisons pour lesquelles nous faisons les données d'édition téléchargeables.

merci!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top