Voy a desarrollar algunas funciones que rastrearán varios sitios web públicos y procesarán / agregarán los datos en ellos. Nada siniestro como buscar direcciones de correo electrónico; de hecho, es algo que en realidad podría generar tráfico adicional a sus sitios. Pero yo divago.
Además de honrar robots.txt
, ¿hay reglas o pautas, escritas o no escritas, que deba seguir para (a) evitar parecer malicioso y potencialmente prohibido, y (b) no causar ningún problema para los propietarios del sitio / webmasters?
Algunos ejemplos que puedo pensar que pueden o no importar:
- Número de solicitudes paralelas
- Tiempo entre solicitudes
- Tiempo entre rastreos completos
- Evitar enlaces potencialmente destructivos (no quiero ser la Araña de la fatalidad , pero quién sabe si esto es incluso práctico)
Sin embargo, eso en realidad es solo una bola de saliva; ¿Existe alguna sabiduría probada que sea ampliamente aplicable para cualquier persona que tenga la intención de escribir o utilizar una araña?
fuente
Respuestas:
Además de obedecer robots.txt, obedezca
nofollow
ynoindex
en<meta>
elementos y enlaces:Hay muchos que creen que robots.txt no es la forma correcta de bloquear la indexación y, debido a ese punto de vista, han dado instrucciones a muchos propietarios de sitios para que confíen en la
<meta name="robots" content="noindex">
etiqueta para decirle a los rastreadores web que no indexen una página.Si está tratando de hacer un gráfico de conexiones entre sitios web (algo similar a PageRank),
(y
<meta name="robots" content="nofollow">
) se supone que indica que el sitio de origen no confía en el sitio de destino lo suficiente como para darle un respaldo adecuado. Entonces, si bien puede indexar el sitio de destino, no debe almacenar la relación entre los dos sitios.El SEO es más un arte que una ciencia real, y lo practican muchas personas que saben lo que están haciendo, y muchas personas que leen los resúmenes ejecutivos de las personas que saben lo que están haciendo. Te encontrarás con problemas en los que te bloquearán los sitios por hacer cosas que otros sitios encontraron perfectamente aceptables debido a alguna regla que alguien escuchó o leyó en una publicación de blog en SEOmoz que puede o no interpretarse correctamente.
Debido a ese elemento humano, a menos que sea Google, Microsoft o Yahoo !, se presume que es malicioso a menos que se demuestre lo contrario. Debe tener especial cuidado para actuar como si no fuera una amenaza para el propietario de un sitio web, y actuar de acuerdo con cómo desea que actúe un rastreador potencialmente malicioso (pero con suerte benigno):
/admin/
ellas, por ejemplo.Incluso entonces, será una batalla cuesta arriba, a menos que recurra a técnicas de sombrero negro como la suplantación de identidad o enmascarar deliberadamente sus patrones de rastreo: muchos propietarios de sitios, por las mismas razones anteriores, bloquearán un rastreador desconocido a la vista en lugar de tomar la posibilidad de que haya alguien que no intente "hackear su sitio". Prepárate para muchas fallas.
Una cosa que podría hacer para combatir la imagen negativa que tendrá un rastreador desconocido es dejar en claro en su cadena de agente de usuario quién es usted:
Donde
http://example.com/aarobot.html
explica lo que está tratando de lograr y por qué no es una amenaza. Esa página debería tener algunas cosas:Esa última es clave: una buena opción de exclusión es como una garantía de devolución de dinero ™ y obtiene una buena cantidad de buena voluntad. Debería ser humano: un simple paso (ya sea una dirección de correo electrónico o, idealmente, un formulario) y completo (no debería haber ninguna "trampa": la exclusión voluntaria significa que deja de rastrear sin excepción).
fuente
(+http://example.com/aarobot.html)
. No sé cuál es el propósito de la+
señal aquí, pero lo he visto a menudo. Web-Sniffer lo hace, y también muchos otros.rel="noindex"
como si fuera un<a>
atributo, pero la página a la que enlazas lo describe como parte del atributo de la<meta>
etiquetacontent
. ¿Son ambas cosas o fue un error tipográfico en la respuesta?Si bien esto no responde a todas sus preguntas, creo que será de ayuda para usted y para los sitios que rastrea.
De manera similar a la técnica utilizada para los sitios web de fuerza bruta sin llamar la atención, si tiene un grupo suficientemente grande de sitios que necesita rastrear, no rastree la siguiente página en el sitio hasta que haya rastreado la siguiente página de todos los otros sitios . Bueno, los servidores modernos permitirán la reutilización de la conexión HTTP , por lo que es posible que desee hacer más de uno para minimizar la sobrecarga, pero la idea sigue en pie. No rastree un sitio hasta el agotamiento hasta que pase al siguiente . Comparte el amor.
Al final del día, aún puede haber rastreado la misma cantidad de páginas, pero el uso promedio de ancho de banda en un solo sitio será mucho menor.
Si quieres evitar ser la araña de la fatalidad, no existe un método seguro. Si alguien quiere meterse frijoles en la nariz , lo hará y probablemente lo hará de maneras que nunca podría predecir. Dicho esto, si no le importa perderse la página válida ocasional, tenga una lista negra de palabras para un enlace que le impedirá seguirla. Por ejemplo:
No es infalible, pero a veces no se puede evitar que las personas tengan que aprender de la manera difícil;)
fuente
robots.txt
ya se menciona en la pregunta, y se puede suponer que se supone.Mi único consejo es escuchar lo que le dice el sitio web que está rastreando y cambiar dinámicamente su rastreo en respuesta a eso.
¿El sitio es lento? Rastree más despacio para que no lo DDOS. ¿Es rápido? ¡Arrástrese un poco más, entonces!
¿El sitio está fallando? Rastrear menos para no estresar un sitio que ya está bajo presión. Utilice tiempos de reintento que aumenten exponencialmente, de modo que vuelva a intentarlo menos cuanto más tiempo esté fallando el sitio. Pero recuerde volver a intentarlo más tarde, eventualmente, para que pueda ver todo lo que falta debido, por ejemplo, a un error de una semana en una ruta de URL específica.
¿Tienes muchos 404? (recuerde, nuestras elegantes páginas 404 también toman tiempo del servidor). Evite rastrear más URL con esa ruta por ahora, ya que tal vez todo lo que falta; si
file001.html
-file005.html
no está allí, te apuesto dólares a las rosquillasfile999.html
no es tampoco! O tal vez rechace el porcentaje de tiempo que recupera algo en ese camino.Creo que aquí es donde muchos rastreadores ingenuos se equivocan profundamente, al tener una estrategia robótica que ejecutan igual independientemente de las señales que están recibiendo del sitio objetivo.
Un rastreador inteligente es reactivo a los sitios objetivo que está tocando.
fuente
Otros mencionaron algunos de los mantras, pero permítanme agregar algunos.
Presta atención al tipo y tamaño del archivo. No extraigas estos binarios enormes.
Optimice para algunas páginas típicas de "listado de directorio" del servidor web. En particular, permiten ordenar por tamaño, fecha, nombre, permisos, etc. No trate cada método de clasificación como una raíz separada para el rastreo.
Solicite gzip (compresión sobre la marcha) siempre que esté disponible.
Limite la profundidad o detecte la recursividad (o ambas).
Limite el tamaño de la página. Algunas páginas implementan lonas para frustrar los bots de desecho de correo electrónico. Es una página que se carga a velocidad de caracol y tiene una longitud de terabytes.
No indexe 404 páginas. Los motores que cuentan con índices más grandes hacen esto, y reciben a cambio un merecido odio.
Esto puede ser complicado, pero intente detectar granjas de equilibrio de carga. Si v329.host.com/pages/article.php?99999 devuelve lo mismo que v132.host.com/pages/article.php?99999, no raspe la lista completa de servidores desde v001.host.com hasta v999. host.com
fuente
Solo agregaré una cosita.
Derechos de autor y otros problemas legales: Sé que usted escribe que son sitios web públicos, por lo que puede que no haya derechos de autor, pero puede haber otros problemas legales para almacenar los datos.
Por supuesto, esto dependerá de los datos de qué país está almacenando (y dónde los está almacenando). Caso en cuestión los problemas con la Ley Patriota de Estados Unidos frente a la Directiva de Protección de Datos de la UE. Un resumen ejecutivo del problema es que las compañías estadounidenses tienen que dar sus datos, por ejemplo. si se le pregunta al FBI, sin informar a los usuarios de eso, donde la Directiva de Protección de Datos establece que los usuarios deben ser informados de esto. Se http://www.itworld.com/government/179977/eu-upset-microsoft-warning-about-us-access-eu-cloud
fuente
Llame a su webcrawler ya sea eso o araña, asociado con su nombre. Esto es importante. Los motores de análisis y similares buscan aquellos que lo asocien como ... araña. ;)
La forma en que lo he visto es a través del encabezado de solicitud User-Agent
fuente
fuente