ventajas que metacrawler mamma imagenes example desventajas crawler web-crawler spam-prevention

web crawler - metacrawler - Evitar que los datos del sitio sean rastreados y arrancados



scrapy python documentation (12)

Estoy buscando construir un sitio de contenido con posiblemente miles de entradas diferentes, accesible por índice y por búsqueda.

¿Cuáles son las medidas que puedo tomar para evitar que los rastreadores maliciosos estallen todos los datos de mi sitio? Estoy menos preocupado por SEO, aunque no quisiera bloquear todos los rastreadores legítimos.

Por ejemplo, pensé en cambiar al azar pequeñas partes de la estructura HTML utilizada para mostrar mis datos, pero supongo que no sería efectivo.


¡Ni siquiera trates de establecer límites en la web!

Realmente es tan simple como esto.

Cada posible medida para desalentar la extracción (aparte de un robots.txt muy estricto) dañará a sus usuarios. Captchas son más dolor que ganancia. Al verificar el agente de usuario, se cierran navegadores inesperados. Lo mismo es cierto para trucos "inteligentes" con javascript.

Por favor, mantén la web abierta. Si no quiere que se tome nada de su sitio web, no lo publique allí. Las marcas de agua pueden ayudarlo a reclamar la propiedad, pero eso solo ayuda cuando desea demandar después de que se hace daño.


Cualquier sitio que sea visible por el ojo humano es, en teoría, potencialmente rippeble. Si va a tratar de ser accesible, esto, por definición, debe ser el caso (¿de qué otra forma los navegadores de voz podrán entregar su contenido si no es legible por máquina).

Su mejor opción es buscar marcas de agua en su contenido, de modo que al menos si se destruye, puede señalar las marcas de agua y reclamar la propiedad.


De manera realista, no puedes detener a los rastreadores maliciosos, y las medidas que implementes para evitarlos pueden dañar a tus usuarios legítimos (además de quizás agregar entradas a robots.txt para permitir la detección)

Entonces, lo que tienes que hacer es planear el contenido robado, es más que probable que suceda de una forma u otra, y entender cómo lidiarás con la copia no autorizada.

La prevención no es posible, y será una pérdida de tiempo intentar que sea así.

La única manera segura de asegurarse de que el contenido de un sitio web no sea vulnerable a la copia es desconectando el cable de red ...

Para detectarlo, utilice algo como http://www.copyscape.com/ puede ayudar.


Entre esto:

¿Cuáles son las medidas que puedo tomar para evitar que los rastreadores maliciosos se rasguen?

y esto:

No me gustaría bloquear legítimos rastreadores todos juntos.

estas pidiendo mucho De hecho, si vas a tratar de bloquear raspadores maliciosos, vas a terminar bloqueando también a los "buenos" rastreadores.

Debes recordar que si las personas quieren raspar tu contenido, van a poner mucho más esfuerzo manual que un robot de motor de búsqueda ... Así que establece tus prioridades correctas. Tienes dos opciones:

  1. Deje que los campesinos de internet roben su contenido. Esté atento a ello (buscando en Google algunas de sus frases más exclusivas) y enviando solicitudes de retiro a los ISP. Esta elección apenas tiene impacto en su tiempo aparte.
  2. Use AJAX y el encriptado continuo para solicitar todo su contenido desde el servidor. Tendrá que mantener el método cambiando, o incluso al azar, para que cada carga de página tenga un esquema de cifrado diferente. Pero incluso esto se resquebrajará si alguien quiere descifrarlo. También dejará la cara de los motores de búsqueda y, por lo tanto, recibirá un golpe en el tráfico de usuarios reales.

La única forma de evitar que un sitio se corte en máquina es hacer que el usuario demuestre que es humano.

Podría hacer que los usuarios realicen una tarea que sea fácil para los humanos y difícil para las máquinas, por ejemplo: CAPTCHA. Cuando un usuario llega a su sitio, presente un CAPTCHA y solo permita que continúen una vez que se haya completado. Si el usuario comienza a moverse de una página a otra demasiado rápido vuelva a verificar.

Esto no es 100% efectivo y los hackers siempre intentan romperlos.

Alternativamente, podrías hacer respuestas lentas. No es necesario hacerlos gatear, sino elegir una velocidad que sea razonable para los humanos (esto sería muy lento para una máquina). Esto solo les hace tomar más tiempo para raspar su sitio, pero no es imposible.

DE ACUERDO. Sin ideas.


Los buenos rastreadores seguirán las reglas que especifique en su robots.txt, las maliciosas no lo harán. Puede configurar una "trampa" para robots defectuosos, como se explica aquí: http://www.fleiner.com/bots/ .
Pero, una vez más, si coloca su contenido en Internet, creo que es mejor para todos si es lo más sencillo posible (de hecho, está publicando aquí y no en un foro cojo donde los expertos intercambian sus opiniones)


Podría intentar usar Flash / Silverlight / Java para visualizar todos los contenidos de su página. Eso probablemente detendría a la mayoría de los rastreadores.


Si el contenido es público y está disponible libremente, incluso con la regulación de la vista de página o lo que sea, no hay nada que puedas hacer. Si necesita registrarse y / o pagar para acceder a los datos, puede restringirlo un poco, y al menos puede ver quién lee qué e identificar a los usuarios que parecen estar raspando toda su base de datos.

Sin embargo, creo que debería enfrentar el hecho de que así es como funciona la red, no hay muchas maneras de evitar que una máquina lea lo que un humano puede hacer. La publicación de todo su contenido como imágenes desalentaría, por supuesto, la mayoría, pero ya no se puede acceder al sitio, y menos aún el hecho de que incluso los usuarios no discapacitados no podrán copiar y pegar nada, lo que puede ser realmente molesto.

En general, esto suena como DRM / sistemas de protección de juegos: molestar a tus legítimos usuarios solo para evitar un mal comportamiento que de todos modos no puedes evitar.


Si estás haciendo un sitio público, entonces es muy difícil. Existen métodos que implican secuencias de comandos del lado del servidor para generar contenido o el uso de texto que no sea de texto (Flash, etc.) para minimizar la probabilidad de desgarro.

Pero, para ser sincero, si considera que su contenido es tan bueno, simplemente proteja con una contraseña y elimínelo de la arena pública.

Mi opinión es que el objetivo de la web es propagar contenido útil a tantas personas como sea posible.


Solía ​​tener un sistema que bloquearía o permitiría basado en el encabezado User-Agent. Se basa en que el rastreador configure su User-Agent, pero parece que la mayoría de ellos sí.

No funcionará si usan un encabezado falso para emular un navegador popular, por supuesto.


Utilice siempre que sea posible validadores humanos e intente utilizar algún marco (MVC). El software de extracción de sitios a veces no puede copiar este tipo de página. También detectar el agente de usuario, al menos reducirá la cantidad de posibles destripadores


En resumen: no se puede evitar la extracción. Los bots malintencionados comúnmente usan agentes de usuario de IE y son bastante inteligentes hoy en día. Si desea tener su sitio accesible al número máximo (es decir, lectores de pantalla, etc.) no puede usar javascript o uno de los plugins populares (flash) simplemente porque pueden inhibir el acceso de un usuario legítimo.

Tal vez podría tener un trabajo cron que elija un fragmento aleatorio de su base de datos y lo busque en google para buscar coincidencias. A continuación, puede tratar de hacerse con el sitio ofensivo y exigir que eliminen el contenido.

También podría controlar el número de solicitudes de una IP determinada y bloquearlas si pasa un umbral, aunque es posible que tenga que incluir en la lista blanca los bots legítimos y que no serviría de nada contra una botnet (pero si está en contra de una botnet, tal vez no es tu mayor problema).