En esta publicación, discutiremos las mejores prácticas de web scraping y, dado que creo que muchos de ustedes están pensando en ello, me ocuparé del elefante en la sala de inmediato. ¿Es legal? Más probable es que sí.
El scraping de sitios es generalmente legal, pero dentro de ciertos motivos razonables (sigue leyendo).
También depende de tu ubicación geográfica, y como no soy un genio, no sé dónde estás, así que no puedo asegurarlo. Consulte las leyes locales y no se queje si le damos algún “mal consejo”, jaja.
Bromas aparte, en la mayoría de los lugares está bien; simplemente no seas un tonto al respecto y mantente alejado del material protegido por derechos de autor, datos personales y cosas detrás de una pantalla de inicio de sesión.
Recomendamos seguir estas mejores prácticas de web scraping:
1. Respeta el archivo robots.txt
¿Quieres conocer el secreto para raspar sitios web de forma pacífica? Simplemente respete el archivo robots.txt del sitio web. Este archivo, ubicado en la raíz de un sitio web, especifica qué páginas pueden ser raspadas por bots y cuáles están prohibidas. Seguir robots.txt también es importante, ya que puede provocar el bloqueo de su IP o consecuencias legales dependiendo de dónde se encuentre.
2. Establezca una tasa de rastreo razonable
Para evitar la sobrecarga, congelación o caída de los servidores del sitio web, controle el ritmo de sus solicitudes e incorpore intervalos de tiempo. En palabras mucho más simples, tenga cuidado con la velocidad de rastreo. Para lograr esto, puedes usar Scrapy o Selenium e incluir retrasos en las solicitudes.
3. Rotar agentes de usuario y direcciones IP
Los sitios web pueden identificar y bloquear robots de raspado utilizando la cadena del agente de usuario o la dirección IP. Cambie los agentes de usuario y las direcciones IP ocasionalmente y utilice un conjunto de navegadores reales. Utilice la cadena de agente de usuario y menciónese en ella hasta cierto punto. Tu objetivo es volverte indetectable, así que asegúrate de hacerlo bien.
4. Evite raspar detrás de las páginas de inicio de sesión
Digamos que raspar cosas detrás de un inicio de sesión generalmente es incorrecto. ¿Bien? ¿Bueno? Sé que muchos de ustedes se saltarán esa sección, pero de todos modos... Intente limitar el raspado a datos públicos, y si necesita raspar detrás de un inicio de sesión, tal vez pida permiso. No lo sé, deja un comentario sobre cómo harías esto. ¿Raspas cosas detrás de un inicio de sesión?
5. Analizar y limpiar los datos extraídos
Los datos que se extraen a menudo no están procesados y pueden contener información irrelevante o incluso no estructurada. Antes del análisis, es necesario preprocesar los datos y limpiarlos con el uso de selectores de expresiones regulares, XPath o CSS. Hágalo eliminando la redundancia, corrigiendo los errores y manejando los datos faltantes. Tómate tu tiempo para limpiarlo ya que necesitas calidad para evitar dolores de cabeza.
6. Manejar contenido dinámico
La mayoría de los sitios web utilizan JavaScript para generar el contenido de la página, y esto es un problema para las técnicas tradicionales de scraping. Para obtener y extraer los datos que se cargan dinámicamente, se pueden utilizar navegadores sin cabeza como Puppeteer o herramientas como Selenium. Céntrate sólo en los aspectos que sean de interés para mejorar la eficiencia.
7. Implementar un manejo sólido de errores
Es necesario corregir errores para evitar fallas del programa causadas por problemas de red, limitaciones de velocidad o cambios en la estructura del sitio web. Vuelva a intentar las solicitudes fallidas, respete los límites de velocidad y, si la estructura del HTML ha cambiado, cambie el análisis. Registre los errores y siga las actividades para identificar los problemas y cómo resolverlos.
8. Respete los términos de servicio del sitio web.
Antes de eliminar un sitio web, se recomienda consultar los términos de servicio del sitio web. Algunos de ellos no permiten el raspado o tienen algunas reglas y regulaciones a seguir. Si los términos son ambiguos, se debe contactar al propietario del sitio web para obtener más información.
9. Considere las implicaciones legales
Asegúrese de tener permiso para extraer y utilizar los datos legalmente, incluidos los derechos de autor y las cuestiones de privacidad. Está prohibido extraer cualquier material protegido por derechos de autor o cualquier información personal de otras personas. Si su empresa se ve afectada por leyes de protección de datos como GDPR, asegúrese de cumplirlas.
10. Explorar métodos alternativos de recopilación de datos.
Se recomienda buscar otras fuentes de datos antes de extraerlos. Hay muchos sitios web que proporcionan API o conjuntos de datos que se pueden descargar y esto es mucho más conveniente y eficiente que el scraping. Por lo tanto, compruebe si existen atajos antes de emprender el camino más largo.
11. Implementar garantía y monitoreo de la calidad de los datos.
Identifique formas en las que puede mejorar la calidad de los datos extraídos. Verifique el raspador y la calidad de los datos diariamente para identificar cualquier anomalía. Implemente monitoreo automatizado y controles de calidad para identificar y evitar problemas.
12. Adoptar una política formal de recopilación de datos.
Para asegurarse de que lo está haciendo de forma correcta y legal, establezca una política de recopilación de datos. Incluye en él las normas, recomendaciones y aspectos legales que tu equipo debe conocer. Descarta el riesgo de uso indebido de datos y garantiza que todos conozcan las reglas.
13. Mantente informado y adáptate a los cambios
El web scraping es un campo activo que se caracteriza por la aparición de nuevas tecnologías, cuestiones legales y sitios web que se actualizan continuamente. Asegúrese de adoptar la cultura del aprendizaje y la flexibilidad para estar en el camino correcto.
¡Envolviendolo!
Si vas a jugar con algunos de los hermosos juguetes que tenemos a nuestra disposición (hazte un favor y busca algunas bibliotecas de Python), entonces... bueno, ten buenos modales y también sé inteligente si decides ignorarlo. el primer consejo.
Estas son algunas de las mejores prácticas de las que hablamos:
- Respeta robots.txt
- Controlar la velocidad de rastreo
- Rota tu identidad
- Evite las áreas privadas
- Limpiar y analizar datos
- Manejar los errores de manera eficiente
- Se bueno, obedece las reglas.
A medida que los datos se vuelven cada vez más valiosos, los web scrapers se enfrentarán a la siguiente elección:
Respeta el archivo robots.txt, ¿sí o no? Tu decides.
Comenta a continuación, ¿cuál es tu opinión al respecto?