es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Raspado de datos de páginas web con lista perezosa (carga lenta) utilizando la biblioteca requests de Python (sin selenium/scrapy).

He escrito un simple script para mí como práctica para encontrar quiénes han comprado las mismas pistas que yo en Bandcamp, con la idea de encontrar cuentas con gustos similares y así tener más música en común en sus cuentas.

El problema es que la lista de fans en una página de álbum/pista se carga de manera perezosa. Usando requests y bs4 de Python, solo puedo obtener 60 resultados de un potencial de 700.

Estoy intentando averiguar cómo enviar una solicitud, es decir, aquí https://pitp.bandcamp.com/album/fragments-distancing para abrir más de la lista. Después de encontrar qué solicitud se envía cuando hago clic en el buscador, utilicé esa solicitud JSON para enviarla utilizando requests, aunque sin ningún resultado.

Agradeceré cualquier ayuda!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en Python, BeautifulSoup y Python-requests, aquí está mi sugerencia para solucionar el problema de obtener solo 60 resultados de un potencial de 700 cuando se utiliza Python’s requests y bs4 para encontrar quiénes han comprado las mismas pistas que usted en Bandcamp:

    El problema aquí es que la lista de fanáticos se carga de manera diferida, lo que significa que solo carga un conjunto limitado de registros inicialmente y requiere una solicitud adicional para cargar más registros.

    Para resolver el problema, necesitas averiguar qué solicitud se envía cuando haces clic en el botón “Cargar más” en la página de la lista de fanáticos. Mencionaste que utilizaste la solicitud JSON para enviarla usando requests, pero no obtuviste ningún resultado.

    Una cosa que puedes intentar es inspeccionar el tráfico de red usando las herramientas de desarrollo del navegador web para ver qué solicitud se envía cuando haces clic en el botón “Cargar más”. Luego, intenta enviar esa solicitud usando la biblioteca requests de Python.

    Alternativamente, puedes intentar usar una herramienta como Selenium para automatizar el proceso de hacer clic en el botón “Cargar más” y recopilar los datos después de cada clic. De esta manera, puedes cargar gradualmente todos los registros de fanáticos sin tener que hacer clic en el botón varias veces manualmente.

    ¡Espero que esto ayude! Buena suerte con tu proyecto.

Comments are closed.