visit
1. IP
Una de las formas más fáciles para que un sitio web detecte actividades de web scraping es a través del seguimiento de IP. El sitio web podría identificar si la IP es un robot en función de sus comportamientos. Cuando un sitio web descubre que se ha enviado una cantidad abrumadora de solicitudes desde una sola dirección IP periódicamente o en un corto período de tiempo, existe una buena posibilidad de que la IP se bloquee porque se sospecha que es un bot. En este caso, lo que realmente importa para construir un crawler anti-scraping es el número y la frecuencia de visitas por unidad de tiempo. Aquí hay algunos escenarios que puede encontrar.
Escenario 1: Hacer múltiples visitas en segundos. No hay forma de que un humano real pueda navegar tan rápido. Entonces, si su crawler envía solicitudes frecuentes a un sitio web, el sitio web definitivamente bloquearía la IP para identificarlo como un robot.
Solución: Disminuya la velocidad de scraping. Configurar un tiempo de retraso (por ejemplo, la función "dormir") antes de ejecutar o aumentar el tiempo de espera entre dos pasos siempre funcionaría.
Escenario 2: Visitar un sitio web exactamente al mismo ritmo. El humano real no repite los mismos patrones de comportamiento una y otra vez. Algunos sitios web monitorean la frecuencia de las solicitudes y si las solicitudes se envían periódicamente con el mismo patrón exacto, como una vez por segundo, es muy probable que se active el mecanismo anti-scraping.
Solución: Establezca un tiempo de retraso aleatorio para cada paso de su rastreador. Con una velocidad de scrapubg aleatoria, el rastreador se comportaría más como los humanos navegan por un sitio web.
Escenario 3: Algunas técnicas anti-scraping de alto nivel incorporarían algoritmos complejos para rastrear las solicitudes de diferentes IP y analizar sus solicitudes promedio. Si la solicitud de una IP es inusual, como enviar la misma cantidad de solicitudes o visitar el mismo sitio web a la misma hora todos los días, se bloquearía.
Solución: Cambie su IP periódicamente. La mayoría de los servicios VPN, y servicios proxy podrían proporcionar IP rotadas. Al través una solicitud Rotación de IP, el rastreador no se comporta como un bot, lo que reduce el riesgo de ser bloqueado.
2.
¿Alguna vez has visto este tipo de imagen al navegar por un sitio web?1.Necesita un clicEs más fácil no activarlo que resolverlo
Para la mayoría de las personas, la forma más fácil es ralentizar o aleatorizar el proceso de extracción para no activar la prueba Captcha. Ajustar el tiempo de retraso o usar IP rotados puede reducir efectivamente la probabilidad de activar la prueba.3. Iniciar Sesión
Muchos sitios web, especialmente las plataformas de redes sociales como Twitter y Facebook, solo le muestran información después de iniciar sesión en el sitio web. Para rastrear sitios como estos, los rastreadores también necesitarían simular los pasos de registro.Después de iniciar sesión en el sitio web, el rastreador debe guardar las cookies. Una cookie es un pequeño dato que almacena los datos de navegación para los usuarios. Sin las cookies, el sitio web olvidaría que ya ha iniciado sesión y le pedirá que vuelva a iniciar sesión.Además, algunos sitios web con mecanismos de raspado estrictos solo pueden permitir el acceso parcial a los datos, como 1000 líneas de datos todos los días, incluso después de iniciar sesión.Tu bot necesita saber cómo iniciar sesión
1) Simular operaciones de teclado y mouse. El rastreador debe simular el proceso de inicio de sesión, que incluye pasos como hacer clic en el cuadro de texto y los botones "iniciar sesión" con el mouse, o escribir información de cuenta y contraseña con el teclado.2) Inicie sesión primero y luego guarde las cookies. Para los sitios web que permiten cookies, recordarían a los usuarios guardando sus . Con estas cookies, no es necesario volver a iniciar sesión en el sitio web a corto plazo. Gracias a este mecanismo, su rastreador podría evitar tediosos pasos de inicio de sesión y raspar la información que necesita.3) Si, desafortunadamente, encuentra los mecanismos de escalado estrictos anteriores, puede programar su rastreador para monitorear el sitio web a una frecuencia fija, como una vez al día. Programe el rastreador para que raspe las 1000 líneas de datos más recientes en períodos y acumule los datos más nuevos.4. UA
UA significa , que es un encabezado del sitio web para identificar cómo visita el usuario. Contiene información como el sistema operativo y su versión, tipo de CPU, navegador y su versión, idioma del navegador, un complemento del navegador, etc.Un ejemplo de UA: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, como Gecko) Chrome/17.0.963.56 Safari/535.11Al scrape un sitio web, si su rastreador no contiene encabezados, solo se identificaría como un script (por ejemplo, si usa python para construir el rastreador, se declararía como un script de python). Los sitios web definitivamente bloquearían la solicitud de un script. En este caso, el buscador debe pretender ser un navegador con un encabezado UA para que el sitio web pueda proporcionarle acceso.A veces, el sitio web muestra diferentes páginas o información a diferentes navegadores o diferentes versiones, incluso si ingresa al sitio con la misma URL. Lo más probable es que la información sea compatible con un navegador mientras que otros navegadores están bloqueados. Por lo tanto, para asegurarse de que puede ingresar a la página correcta, se requerirán múltiples navegadores y versiones.Cambie entre diferentes UA para evitar ser bloqueado
Cambie la información de UA hasta que encuentre la correcta. Algunos sitios web sensibles que aplican técnicas complejas de anti-scraping pueden incluso bloquear el acceso si se usa el mismo UA durante mucho tiempo. En este caso, necesitaría cambiar la información de UA periódicamente.5.
Hoy en día, se desarrollan más sitios web con AJAX en lugar de las técnicas tradicionales de desarrollo web. AJAX significa JavaScript asíncrono y XML, que es una técnica para actualizar el sitio web de forma asíncrona. En pocas palabras, no es necesario volver a cargar todo el sitio web cuando solo se producen pequeños cambios dentro de la página.Entonces, ¿cómo podría saber si un sitio web aplica AJAX?Un sitio web sin AJAX: Toda la página se actualizará incluso si solo realiza un pequeño cambio en el sitio web. Por lo general, aparece un signo de carga y la URL cambia. Para estos sitios web, podríamos aprovechar el mecanismo e intentar encontrar el patrón de cómo cambiarían las URL. Luego, podría generar URL en lotes y extraer información directamente a través de estas URL en lugar de enseñarle a su crawler cómo navegar por sitios web como los humanos.
Un sitio web con AJAX: Solo se cambiará el lugar donde hace clic y no aparecerá ningún signo de carga. Por lo general, la web URL no cambiaría, por lo que el crawler tiene que lidiar con ella de una manera directa.
Para algunos sitios web complejos desarrollados por AJAX, se necesitarían técnicas especiales para descubrir formas cifradas únicas en esos sitios web y extraer los datos cifrados. Resolver este problema puede llevar mucho tiempo porque las formas cifradas varían en las diferentes páginas. Si pudiera encontrar un , podría descifrar automáticamente el sitio web y extraer datos.Las técnicas de web scraping y anti-scraping están progresando todos los días. Quizás estas técnicas estarían desactualizadas cuando lea este artículo. Sin embargo, siempre puede obtener ayuda de . Aquí en Octoparse, nuestra misión es hacer que los datos sean accesibles para cualquier persona, en particular, aquellos sin antecedentes técnicos. Como herramienta de web scraping, podemos proporcionarle soluciones listas para implementar para estas cinco técnicas anti scraping. ¡No dude en cuando necesite una poderosa herramienta de web scraping para su negocio o proyecto!Previously published at