Como programaticamente recuperar a edição de páginas de história do MusicBrainz usando python?

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

  •  10-12-2019
  •  | 
  •  

Pergunta

Eu estou tentando obter programaticamente edição de páginas de história do MusicBrainz site.(musicbrainzngs é uma biblioteca para a MB serviço da web e o histórico de edições não é acessível a partir do web service).Para isso, eu preciso entrar para a MB site usando o meu nome de usuário e senha.

Eu já tentei usar o mechanize módulo e usando a página de login do segundo formulário (o primeiro é o formulário de pesquisa), eu envio o meu nome de usuário e senha;a partir da resposta, parece que eu com êxito login no site;no entanto, um pedido para um histórico de edição da página gera uma exceção:

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

Eu entendo a exceção e a razão para isso.Assumo total responsabilidade por não abusar do site (afinal, para qualquer utilização serão marcados com o meu nome de usuário), eu só quero evitar manualmente a abertura de uma página, salvar o HTML e a execução de um script em HTML salvo.Posso superar o erro 403?

Foi útil?

Solução

Se você deseja burlar o site robots.txt, você pode conseguir isso, dizendo que o seu mechanize.Browser para ignorar o robots.txt arquivo.

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

Além disso, você pode querer alterar o seu navegador de agente do usuário para que você não olhar como um robô:

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

Por favor, esteja ciente de que ao fazer isso, você está, na verdade, enganando o site em pensar que você é um cliente válido.

Outras dicas

A melhor solução é respeitar o robots.txt arquivo e basta fazer o download da edição de dados em si e não a tela de raspar o MusicBrainz.Você pode baixar o completo editar história aqui:

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

Procure o arquivo mbdump-editar.alcatrão.bz2.

E, como o líder do MusicBrainz equipe, eu gostaria de perguntar a respeito de robots.txt e download a edição dos dados.Isso é uma das razões por que fazer a edição de dados para download.

Obrigado!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top