una qué online hacer google descargar crawler como buscador arañas araña web-crawler

web-crawler - qué - web crawler online



¿Cuáles son las consideraciones clave al crear un rastreador web? (9)

Empecé a pensar en crear / personalizar un rastreador web hoy y sé muy poco acerca de la etiqueta del rastreador web / robot. La mayoría de las escrituras sobre etiqueta que he encontrado parecen viejas e incómodas, por lo que me gustaría obtener algunas ideas actuales (y prácticas) de la comunidad de desarrolladores web.

Quiero usar un rastreador para recorrer "la web" con un propósito súper simple: "¿cumple la condición del sitio XYZ la condición ABC?".

Esto plantea muchas preguntas para mí, pero creo que las dos preguntas principales que necesito para salir primero son:

  • Se siente un poco "dudoso" desde el principio, ¿es aceptable este tipo de cosas?
  • ¿Qué consideraciones específicas debe tomar el rastreador para no molestar a la gente?

Asegúrese de incluir una URL en su cadena de agente de usuario que explique quién / qué / por qué se arrastra su robot.


Diría que es muy importante considerar cuánta carga estás causando. Por ejemplo, si su rastreador solicita cada objeto de un solo sitio, más o menos a la vez, podría causar problemas de carga para ese sitio en particular.

En otras palabras, asegúrese de que su rastreador no sea demasiado agresivo.


La carga es una gran consideración. Pon límites a la frecuencia con la que rastreas un sitio en particular y cuál es la información más básica que necesitas para lograr tu objetivo. Si busca texto, no descargue todas las imágenes, cosas así.

Por supuesto, obedecer robots.txt, pero también asegúrese de que su cadena de agente de usuario incluye información de contacto precisa y tal vez un enlace a una página web que describe lo que está haciendo y cómo lo hace. Si un administrador web está viendo muchas solicitudes de usted y siente curiosidad, es posible que pueda responder muchas preguntas con una página web informativa.


Obedezca robots.txt (y no demasiado agresivo como ya se dijo).

Es posible que desee pensar en su cadena de agente de usuario: son un buen lugar para estar al tanto de lo que está haciendo y de cómo contactarlo.


Además de las buenas respuestas de WillDean y Einar, realmente recomendaría que se tome un tiempo para leer sobre el significado de los códigos de respuesta HTTP, y lo que su rastreador debería hacer al encontrar cada uno, ya que hará una gran diferencia en su rendimiento, y Ya sea que esté o no, está prohibido en algunos sitios.

Algunos enlaces útiles:

HTTP / 1.1: Definiciones de código de estado

Pruebas HTTP del cliente Agregador

Wikipedia


Es perfectamente aceptable hacerlo, solo asegúrese de que solo visite cada página una vez para cada sesión. Como técnicamente está creando un robot de búsqueda, debe obedecer las reglas de robots.txt y no-cache reglas de no-cache . Las personas aún pueden bloquear tu bot específicamente si es necesario bloqueando las direcciones IP.

Solo está buscando el código fuente hasta donde yo sepa, así que querrá construir algo para seguir <link> s para stylesheets y <script src="..."></script> para JavaScripts.


Necesitará agregar alguna capacidad para incluir en la lista negra sitios / dominios u otras cosas (rangos de IP, ASN, etc.) para evitar que su araña se empantane con los sitios de spam.

Tendrá que tener una implementación de HTTP con mucho control sobre el tiempo de espera y el comportamiento. Espere que muchos sitios envíen respuestas inválidas, enormes respuestas, encabezados de basura o simplemente deje la conexión abierta indefinidamente sin respuesta, etc.

Además, no confíe en un estado 200 para significar "la página existe". Una gran parte de los sitios envían 200 por "No encontrado" u otros errores, según mi experiencia (junto con un documento HTML grande).


Todos los puntos buenos, los hechos aquí. También tendrá que lidiar con vínculos, parámetros e ID de sesión Java y JavaScript generados dinámicamente, escapando comillas simples y dobles, intentos fallidos en enlaces relativos (usando ../../ para ir más allá del directorio raíz), sensibilidad de mayúsculas y minúsculas, marcos, redirecciones, cookies ...

Podría seguir por días, y tener algo así. Tengo una lista de verificación de robots que cubre la mayor parte de esto, y estoy contento de responder lo que pueda.

También debe pensar en utilizar el código de rastreo de robot de código abierto, ya que le da una gran ventaja sobre todos estos problemas. Tengo una página sobre eso también: código de código fuente abierto . ¡Espero que ayude!


Además, no olvides obedecer las metaetiquetas del bot: http://www.w3.org/TR/html4/appendix/notes.html#hB.4.1.2

Otra cosa en que pensar: cuando las páginas de araña no sean demasiado precipitadas para decidir que las cosas no existen o tienen errores. Algunas páginas están fuera de línea debido a trabajos de mantenimiento o errores que se corrigen en un período corto.