New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

github.com/nemopss/sitemap

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/nemopss/sitemap

  • v0.0.0-20240604222713-5ce513dae1fc
  • Source
  • Go
  • Socket score

Version published
Created
Source

Генератор Sitemap

Этот проект представляет собой инструмент на языке Go для генерации карт сайта с использованием обхода в ширину (BFS) для указанного URL до заданной глубины. Результат выводится в формате XML, соответствующем протоколу Sitemap.

Возможности

  • Алгоритм BFS: Эффективный обход и сбор URL, начиная с заданного URL.
  • Контроль глубины: Установка максимальной глубины для ограничения области обхода.
  • Вывод в формате XML: Генерация карты сайта в формате XML, совместимом с поисковыми системами.
  • Фильтрация ссылок: Фильтрация и нормализация ссылок для правильного форматирования URL.

Установка

  1. Клонируйте репозиторий:
    git clone https://github.com/nemopss/sitemap.git
    
  2. Перейдите в директорию проекта:
    cd sitemap
    
  3. Скомпилируйте проект:
    go build
    

Использование

Запустите генератор карты сайта с нужным URL и максимальной глубиной и выведите результат в файл:

./sitemap -url=https://example.com -depth=3 > sitemap.xml

Обзор кода

Основная функция

Функция main парсит параметры командной строки, запускает BFS и кодирует полученные URL в формате XML.

Функция BFS

Функция bfs выполняет обход в ширину для сбора URL до заданной глубины, гарантируя, что каждый URL посещается только один раз.

Обработка HTTP и URL

  • get(urlStr string) []string: Получает HTML содержимое URL и извлекает ссылки.
  • hrefs(r io.Reader, base string) []string: Парсит HTML и извлекает гиперссылки.
  • filter(links []string, keepFn func(string) bool) []string: Фильтрует ссылки на основе предоставленного префикса.

Зависимости

Проект использует пакет github.com/nemopss/link для парсинга HTML и извлечения ссылок.

FAQs

Package last updated on 04 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc