Dinoer

Navegación respetuosa

Un agente que cruza un sitio público consume recursos que pertenecen a otra persona. Dinoer registra sus propios accesos y los reporta; y una campaña distribuye deliberadamente sus propias solicitudes, tanto en la búsqueda como en la recopilación de datos.

Un agente que accede a un sitio web público consume recursos que pertenecen a otra persona. Dinoer parte de ahí, heredando sin cambios del núcleo del navegador del que se derivó y extendiéndolo con la canalización de investigación que se superpone a él.

Se mueve al ritmo que usted fija, no al ritmo máximo que permite la máquina. Se presenta por lo que es, sin tomar prestada la identidad de un navegador humano. Cuenta sus propias páginas y sus propias acciones, y devuelve ese recuento en cada respuesta — usted siempre sabe lo que le costó al objetivo.

Esta medición no es una restricción: usted sigue siendo libre de establecerla. Es un contador preciso, mantenido por la propia herramienta, sobre su propio funcionamiento.

¿Qué contiene realmente el contador?

Cada ejecución devuelve un bloque respect, en la raíz del JSON y dentro de la sección “compass” — salida real, de una ejecución contra https://example.com:

"respect": {"pages_visitees": 0, "actions_executees": 1,
            "duree_totale_ms": 1981, "indice_agressivite": 0.0}

Un campo merece una advertencia, porque su nombre promete más de lo que realmente ofrece. pages_visitees cuenta solo naviguer acciones — la URL inicial de una ejecución no se considera una. Una ejecución que carga una página y la lee, por lo tanto, reporta 0, lo cual es correcto pero puede parecer incorrecto. Si desea el total incluyendo la primera carga, sume uno.

Preferiríamos escribir esa frase antes que dejar que usted la descubra frente a un número en el que confiaba.

La misma doctrina, a escala de campaña

Una sola llamada a shot.py ya espacía sus propias acciones. campagne.py tiene una segunda obligación, independiente: espaciar las consultas a SearXNG en sí mismas, no solo las descargas de páginas que las siguen. Una campaña real descubrió esta brecha de la peor manera — una ráfaga de consultas de descubrimiento y recolección disparadas una tras otra hizo que los propios motores ascendentes de la instancia SearXNG la suspendieran por limitación de tasa. Una llamada a time.sleep() se ejecuta ahora en cada punto de llamada a rechercher(), no solo entre las descargas de páginas retenidas.

La frescura es la otra mitad de la misma doctrina: una campaña no volverá a rastrear una página dentro de un período configurable (por defecto, 30 días) solo porque un destino posterior haga referencia a ella nuevamente.

Identidad declarada

Dinoer no pretende ser un navegador “humano” por defecto. Esa es una declaración de principios, no una limitación técnica, y tiene un costo: algunos sitios web rechazan a un agente que se identifica, mientras que aceptarían a un navegador que no dice nada.

Ese precio es para que lo paguemos nosotros, no para que usted lo descubra. Existe una opción --stealth para los casos en los que decida actuar de otra manera; es opcional y depende de su decisión, porque usted es el responsable del tráfico que genera.