IDENTIFICACIÓN DE ELEMENTOS
Cuando estamos procesando consultas en un motor, es muy importante que logremos identificar elementos que nos indiquen el estado final de la consulta, según sea exitosa, sin resultados o si hubo un error, si no hacemos esto podríamos estar tratando de aplicar acciones sobre los resultados sin que el sitio nos haya devuelto la respuesta completa todavía.
CONTINUAR PROCESO INTERRUMPIDO
Muchas razones pueden interrumpir un proceso de scraping, por ejemplo: una desconexión de internet, reinicio voluntario u obligatorio de la computadora, o que un error no contemplado bote la aplicación, etc. No hay que comenzar desde cero a scrapear todo el sitio. Se debería llevar un registro en una base de datos con los registros procesados, de manera que cuando se vuelva a ejecutar la aplicación pueda continuar donde quedó, sin depender de nosotros.
OBSERVACIÓN DE PROCESO
A veces podemos programar scrapers que no usen un explorador web visible sino que manejan las consultas y la lógica de extracción de datos sólo mediante código, lo que pasa con estos casos es que son más propensos a no capturar todos los datos, porque siempre aparecen casos y cosas que no habíamos considerado en la programación, por ejemplo es muy frecuente que algunos registros desplieguen un dato y hasta toda una pestaña de datos pero en otros no. Por lo que es una buena práctica observar la mayor cantidad de ejemplos posibles de los registros que vayamos a scrapear para estar más seguros que estamos considerando todos los escenarios posibles.
CAPTCHAS
A veces creemos que cuando un sitio tiene captcha es imposible de scrapear, pero no es así, actualmente existen librerías y muchos servicios web que resuelven los captchas y devuelven el texto que contienen las imágenes, y pueden ofrecer este servicio porque han desarrollado software para el reconocimiento de imágenes en combinación con inteligencia artificial o con personas, las cuales brindan la respuesta correcta cuando el sistema se equivoca y con esto el sistema sigue aprendiendo, manejando un rango entre 1 y 15 segundos la resolución del captcha.
Uno muy popular se llama DeathByCaptcha, tiene un excelente API y actualmente maneja un 92% de certeza y un tiempo promedio de 8 segundos en la respuesta.