Seguimos aumentando nuestro arsenal, esta vez con un web crawler escrito en go, llamado dcrawl, que es sencillo pero a la vez inteligente, que soporta múltiples hilos para el descubrimiento de enormes listas de nombres de dominio únicos.
dcrawl toma una URL de una web como entrada y detecta todos los enlaces en el cuerpo (body) del sitio. Cada enlace encontrado se añade a la cola. Sucesivamente, cada enlace encolado se rastrea de la misma manera, ramificando en múltiples URLs según se vayan encontrando.
Cómo funciona el crawling o rastreo inteligente:
dcrawl toma una URL de una web como entrada y detecta todos los enlaces en el cuerpo (body) del sitio. Cada enlace encontrado se añade a la cola. Sucesivamente, cada enlace encolado se rastrea de la misma manera, ramificando en múltiples URLs según se vayan encontrando.
Cómo funciona el crawling o rastreo inteligente:
- Ramificación limitada por un número predefinido de enlaces por cada hostname único.
- Número máximo de nombres de host diferentes permitidos por dominio (evita subdominios que se rastreen hasta el “infierno” como por ejemplo, blogspot.com).
- Se puede reiniciar con la misma lista de dominios - los últimos dominios guardados se agregan a la cola de URL.
- Rastrea solo los sitios que devuelven text/html en el Content-Type de las respuestas a HEAD.
- Recupera el cuerpo del sitio con un tamaño máximo de 1MB.
- No guarda los dominios inaccesibles.
go build dcrawl.go
./dcrawl -url http://wired.com -out ~/domain_lists/domains1.txt -t 8
Uso ___ __
__| _/________________ __ _ _| |
/ __ |/ ___\_ __ \__ \\ \/ \/ / |
/ /_/ \ \___| | \// __ \\ /| |__
\____ |\___ >__| (____ /\/\_/ |____/
\/ \/ \/ v.1.0
usage: dcrawl -url URL -out OUTPUT_FILE -t THREADS
-ms int
maximum different subdomains for one domain (def. 10) (default 10)
-mu int
maximum number of links to spider per hostname (def. 5) (default 5)
-out string
output file to save hostnames to
-t int
number of concurrent threads (def. 8) (default 8)
-url string
URL to start scraping from
-v bool
verbose (default false)
Fuente: https://github.com/kgretzky/dcrawl
Comentarios
Publicar un comentario