Как достать все URL из файла Sitemap XML бесплатно и быстро?
В случаях, когда требуется быстро выгрузить список всех страниц сайта достаточно получить список URL из файла Sitemap (XML), что мы и рассмотрим в данной статье. Однако, стоит помнить, что в одном sitemap может быть до 50 тысяч URL, поэтому для больших сайтов количество скачиваемых файлов может быть тысячи и десятки тысяч, данный вариант мы также рассмотрим.
Если сайт не защищен от парсинга и карта не слишком огромная, сервис выдаст список всех ссылок, который можно скачать (Export).
Ограничения: Этот метод может не сработать, если карта сайта очень большая (сервис выдаст ошибку скачивания) или если на сайте стоит защита от ботов (блокировка по User-Agent/IP).
Метод 2: Ручной способ через Excel (если сервисы блокируются)
Этот способ выручает, когда онлайн-сервисы не могут скачать файл из-за защиты сайта или ошибок.
Скачайте XML файл. Откройте нужный Sitemap в браузере (например, карту товаров sitemap_goods.xml), нажмите Ctrl+S и сохраните файл на компьютер.
Подготовьте Excel.
Откройте Excel.
Зайдите в Файл -> Параметры -> Настроить ленту.
В правом столбце поставьте галочку напротив пункта Разработчик и нажмите ОК.
Очистите XML файл (важный нюанс).
Откройте скачанный файл в текстовом редакторе (Блокнот, Notepad++, Sublime Text).
Удалите лишние атрибуты в теге <urlset …>, оставив просто <urlset>.
Это нужно, чтобы Excel корректно распознал структуру без ошибок схемы.
Сохраните изменения.
Импорт в Excel.
Перетащите файл в Excel или откройте его через меню.
Выберите опцию «Открыть как XML-таблицу».
Нажмите ОК.
Результат. Excel преобразует файл в удобную таблицу, где в одной из колонок будут все ваши ссылки (loc).
Метод 3: Массовый парсинг через A-Parser (для огромных сайтов)
Этот метод необходим для сайтов с десятками миллионов страниц и тысячами под-карт (sitemaps), которые вручную обрабатывать невозможно.
Этап 1: Сбор списка всех Sitemap
Настройка A-Parser. Используйте редактор заданий. Выберите тип парсера Net::HTTP и использование регулярных выражений (RegEx) для поиска ссылок:
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.