Crawler is a command-line web crawler written in Go. It starts from a base URL, crawls pages within the same domain, extracts links and content, collects page-level data, and generates a JSON report.
- Go 1.26
net/httpand Go standard library packagesgoqueryfor HTML parsing- JSON output generation for crawl results
main.go: CLI entry point, argument parsing, crawl start, and report generation.config.go: crawler configuration and shared state management.crawl_page.go: main crawl workflow for each page.normalize_url.go: URL normalization logic.get_html.go: fetches raw HTML from pages.get_urls_from_html .go: extracts links from HTML.get_images_from_html.go: extracts image URLs from HTML.get_content.go: extracts textual content from pages.get_data.go: combines extracted data into page-level structures.json_report.go: writes crawl output toreport.json.*_test.go: unit tests for parsing, normalization, and data extraction helpers.go.mod/go.sum: module and dependency definitions.
Crawler es un rastreador web de línea de comandos escrito en Go. Parte de una URL base, recorre páginas dentro del mismo dominio, extrae enlaces y contenido, recopila datos por página y genera un reporte en formato JSON.
- Go 1.26
net/httpy paquetes de la librería estándar de Gogoquerypara parseo de HTML- Generación de salida JSON con los resultados del rastreo
main.go: punto de entrada CLI, lectura de argumentos, inicio del rastreo y generación del reporte.config.go: configuración del crawler y manejo del estado compartido.crawl_page.go: flujo principal de rastreo por página.normalize_url.go: lógica de normalización de URLs.get_html.go: obtención del HTML crudo de las páginas.get_urls_from_html .go: extracción de enlaces desde HTML.get_images_from_html.go: extracción de URLs de imágenes.get_content.go: extracción de contenido textual de las páginas.get_data.go: composición de datos extraídos en estructuras por página.json_report.go: escritura de la salida enreport.json.*_test.go: pruebas unitarias para parsing, normalización y extracción de datos.go.mod/go.sum: definición del módulo y dependencias.