¿Cómo recuperar mediante programación páginas del historial de edición de MusicBrainz usando Python?

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

  •  10-12-2019
  •  | 
  •  

Pregunta

Estoy intentando recuperar mediante programación las páginas del historial de edición del sitio web MusicBrainz.(musicbrainzngs es una biblioteca para el servicio web MB y no se puede acceder al historial de edición desde el servicio web).Para ello, necesito iniciar sesión en el sitio web de MB con mi nombre de usuario y contraseña.

He intentado usar el mechanize módulo, y usando el segundo formulario de la página de inicio de sesión (el primero es el formulario de búsqueda), envío mi nombre de usuario y contraseña;Según la respuesta, parece que inicié sesión correctamente en el sitio;sin embargo, una solicitud adicional a una página del historial de edición genera una excepción:

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

Entiendo la excepción y el motivo de la misma.Asumo toda la responsabilidad de no abusar del sitio (después de todo, cualquier uso será etiquetado con mi nombre de usuario), solo quiero evitar abrir manualmente una página, guardar el HTML y ejecutar un script en el HTML guardado.¿Puedo superar el error 403?

¿Fue útil?

Solución

Si desea eludir las restricciones del sitio robots.txt, puedes lograr esto diciéndole a tu mechanize.Browser ignorar el robots.txt archivo.

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

Además, es posible que desees modificar el agente de usuario de tu navegador para no parecer 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')]

Tenga en cuenta que al hacer esto, en realidad está engañando al sitio web haciéndole creer que es un cliente válido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top