Come recuperare programmaticamente le pagine della cronologia di modifica da Musicbrainz usando Python?

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

  •  10-12-2019
  •  | 
  •  

Domanda

Sto cercando di recuperare programmaticamente la modifica delle pagine della cronologia dal sito Web Musicbrainz.(musicbrainzngs è una libreria per il servizio Web MB e la cronologia di modifica non è accessibile dal servizio Web).Per questo, ho bisogno di accedere al sito Web MB usando il mio nome utente e password.

Ho provato a utilizzare il modulo mechanize e utilizzando il modulo Second Pagina di accesso (prima è il modulo di ricerca), invio del mio nome utente e password;Dalla risposta, sembra che io possa accedere con successo al sito;Tuttavia, un'ulteriore richiesta a una pagina della storia di modifica solleva un'eccezione:

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

Capisco l'eccezione e la ragione per questo.Prendo piena responsabilità per non aver abusato del sito (dopotutto, qualsiasi utilizzo verrà taggato con il mio nome utente), voglio solo evitare manualmente aprendo una pagina, salvando l'HTML e eseguire uno script sull'HTML salvato.Posso superare l'errore 403?

È stato utile?

Soluzione

Se si desidera aggirare il robots.txt del sito, è possibile ottenere ciò, dicendo al tuo mechanize.Browser di ignorare il file robots.txt.

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

Inoltre, potresti voler modificare l'agente utente del tuo browser in modo da non sembrare 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')]
.

Si prega di essere consapevoli che quando lo fai, stai effettivamente ingannando il sito web nel pensare che tu sia un cliente valido.

Altri suggerimenti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top