Divulgación: Trabajo en Scrapinghub, los principales encargados de Scrapy.
Te sugiero que uses Scrapy. Es un proyecto de código abierto probado en batalla utilizado por muchas compañías.
Scrapy trata todos los problemas posibles que puede enfrentar al usar una solución personalizada, como una biblioteca de red y un combo de analizador XML.
- ¿Qué cursos en Stanford enseñan usando el libro "Matemáticas concretas" de Knuth?
- ¿Cuál es el sistema operativo de computadora más seguro?
- ¿Cuál es la mejor manera de entrevistar a los candidatos de doctorado de CS que no codifican con tanta frecuencia?
- Cómo comenzar a ganar $ 1000 por semana dentro de un mes
- Cómo generar todos los números primos de un número dentro de un rango
Scrapy hace todo el trabajo en red por usted: maneja las redirecciones (mediante códigos HTTP 3xx o mediante meta actualización HTML), reintenta las solicitudes fallidas de forma personalizable, ajusta su frecuencia de rastreo automáticamente en función del servidor web y las cargas del rastreador (AutoThrottle), respeta los robots. txt, si lo desea, conserve las sesiones automáticamente, entre otras cosas que tomaría mucho tiempo desarrollar usted mismo. Scrapy tiene valores predeterminados agradables y casi todo es personalizable si necesita algo diferente.
La arquitectura de Scrapy es altamente extensible a través de: middlewares, tuberías y extensiones. Hay muchos oficiales y accionados por la comunidad para hacer cosas como proxy y rotación de agente de usuario, almacenar datos en bases de datos, etc.
Con Scrapy, extrae información de sitios web utilizando selectores CSS o XPath. También puede usar cualquier otra biblioteca de análisis como BeautifulSoup con Scrapy, aunque estoy bastante seguro de que no la necesitará.
La infraestructura no es un problema para los usuarios de Scrapy. Implementan y ejecutan sus rastreadores de forma gratuita utilizando Scrapy Cloud.
Puede aprender Scrapy consultando la documentación oficial, siguiendo algunos de los muchos tutoriales que se encuentran en la web o en el libro Learning Scrapy.
Si alguna vez tiene problemas con algunos sitios web difíciles de rastrear, puede obtener ayuda del canal oficial de IRC, StackOverflow o de la lista de correo de usuarios descuidados. También hay una lista de empresas que brindan soporte comercial para Scrapy, si alguna vez lo necesita.