No hay una solución perfecta.
Aquí hay algunos obstáculos que enfrentarás:
- Si realiza demasiadas solicitudes desde una dirección IP o subred, el sitio puede bloquearla.
- Algunos sitios establecen cookies cuando visita la página de inicio. Cuando realice más solicitudes, comprobarán si las cookies están presentes y lo bloquearán de lo contrario.
- Otros métodos de seguimiento como ETags y píxeles.
- Los formularios y otros activos pueden requerir captchas. El sitio también puede presentar un captcha si sospecha que eres un bot.
- Trampas como enlaces no visibles y funciones de JavaScript. Además, si visita páginas que no están permitidas en el archivo robots.txt del sitio, el sitio puede marcarlo como un bot.
- Algunos sitios rastrean el flujo de la página y buscan patrones para determinar si las solicitudes son de una persona real.
Así es como puedes superarlos:
- ¿Qué empresas populares usan Django para sus aplicaciones web?
- ¿Cuál es la mejor manera de incluir una galería de videos en un sitio web?
- ¿Cómo se compara Drupal 7 con los marcos de Code Igniter y Yii para aplicaciones web?
- ¿Tienen preferencia los programadores que han trabajado tanto en la web como en dispositivos móviles y por qué?
- ¿Cómo creo una aplicación web en Java?
- Use una herramienta de rotación proxy como Crawlera. [1] Esto le ahorra la molestia de administrar direcciones IP y crear una estrategia de rotación. Crawlera es especialmente bueno porque utiliza miles de IP de muchas regiones y subredes.
- Rotar direcciones IP, agentes de usuario y cookies.
- Siga las reglas de robots.txt.
- Filtra páginas y solo rastrea lo que necesitas.
- Varíe cómo su rastreador navega por las páginas para que parezca más aleatorio. Puede usar algo como Frontera [2] para un rastreo más inteligente.
- Introduzca demoras variables entre las solicitudes que realice. Crawlera se encarga de esto por usted y tiene su propio comportamiento predefinido para dominios populares.
- Utilice solo proxies que pertenezcan a una región específica, si es necesario. Crawlera te permite hacer esto.
- Para parecer más orgánico, debe realizar grupos de solicitudes consecutivas con la misma dirección IP, agente de usuario y cookies. Esto hará que parezca una sesión de usuario normal. Puede usar la función de sesión de Crawlera para esto.
- Ejecute cualquier JavaScript en la página y cargue todos los activos. Use un navegador sin cabeza como Splash [3] y enrute las solicitudes a través de su API para devolver páginas renderizadas. Es de código abierto y completamente gratis.
- Use un servicio como Death By Captcha [4] que usa tanto OCR como humanos para responder captchas por usted. Puede hacer todo esto a través de una API.
También puede contratar a un equipo que lo hará todo por usted. Scrapinghub tiene un equipo de servicios profesionales que puede armar un rastreador para usted, en caso de que esté interesado. [5]
[1] Crawlera
[2] scrapinghub / frontera
[3] scrapinghub / splash
[4] Muerte por Captcha
[5] Servicios profesionales
Descargo de responsabilidad: trabajo para Scrapinghub, autores de Crawlera, Frontera y Splash.