/ / ¿Cómo puedo usar la sopa hermosa en varias páginas al mismo tiempo? - beautifulsoup, petición

¿Cómo puedo usar sopa hermosa en varias páginas al mismo tiempo? - beautifulsoup, solicitud

Estoy usando sopa hermosa para raspar un sitio web. Tiene páginas de datos que quiero sumar. Sin embargo, hacerlo página a página con una sopa hermosa toma alrededor de 2 segundos por página, por lo que toma casi un día hacer los miles de páginas que quiero. Gran parte del tiempo se pasa esperando la solicitud de URL, así que creo que podría hacerlo separando la tarea y ejecutando cien scripts de Python a la vez. Pero, ¿hay una manera de hacerlo dentro de un script de python?

Respuestas

1 para la respuesta № 1

Podrías ejecutar múltiples hilos, usandomultithreading.Pool, pero probablemente no cientos, a menos que tenga una supercomputadora. El número de procesadores lógicos en la máquina que ejecuta su código es probablemente el número óptimo de subprocesos a utilizar. Sin embargo, hay dos cosas a considerar:

  1. El retraso en la espera de la solicitud de url se debe a un cuello de botella en la red, no a un código lento en su programa. Más hilos podrían no mejorar la velocidad total, porque Más hilos no te dan una conexión a internet más rápida. Tal vez dos o tres subprocesos serían más rápidos que uno, pero hay un límite en el cual la velocidad de Internet se convierte en el enlace débil para la velocidad.
  2. Si el servidor del que está raspando le ve enviando varias solicitudes por segundo, Es posible que esté en la lista negra por causar demasiada carga. Por lo general, es una buena práctica al raspar para ser cortés con el servidor del que se está descargando, es decir, es una mala idea enviar spam al servidor con varias solicitudes en una sucesión rápida.