Как Python упрощает обход сайтов по карте сайта
Сайты часто скрывают ценный контент на виду, и ключ к его нахождению — иметь правильного проводника. Карты сайта служат таким проводником, перечисляя все URL, которые сайт хочет, чтобы поисковые системы индексировали. Вместо того чтобы переходить по страницам одну за другой, обход карты сайта дает мгновенный доступ ко всей структуре сайта быстро, эффективно и надежно.
Проблема в том, что многие сайты используют вложенные индексные карты сайта, где одна карта ссылается на несколько меньших, некоторые из которых содержат тысячи URL. Парсить их вручную утомительно, чревато ошибками и занимает огромное количество времени.
И здесь на помощь приходит ultimate-sitemap-parser (USP). Эта библиотека Python снимает все сложности с обходом карт сайта. В этом руководстве вы узнаете, как обойти карту сайта ASOS и извлечь все URL быстро, аккуратно и надежно.
Начало работы: требования
Прежде чем начать, убедитесь, что у вас готов набор инструментов:
Установленный Python
Python необходим. Если он не установлен:
Скачайте последнюю версию с Python.org.
python3 --version
Установите ultimate-sitemap-parser
Далее установите usp через pip:
pip install ultimate-sitemap-parser
Как обойти карту сайта с помощью ultimate-sitemap-parser
С установленным USP приступим к практике.
1. Получение и извлечение всех URL
Забудьте о борьбе с XML. USP справляется всего за несколько строк кода:
from usp.tree import sitemap_tree_for_homepage url = "https://www.asos.com/" tree = sitemap_tree_for_homepage(url) for page in tree.all_pages(): print(page.url)
Каждый URL из карты сайта — мгновенно на экране. Никаких лишних действий, ошибок и хаоса, только чистый результат.
2. Автоматическая обработка вложенных карт сайта
Крупные сайты вроде ASOS организуют карты сайта в несколько уровней: страницы продуктов, категории, блоги. USP:
Определяет индексные карты сайта.
Автоматически загружает дочерние карты.
Вам не нужно писать ни строчки кода дополнительно. Один скрипт — полный охват.
3. Извлечение определенных типов URL
Нужны только определенные ссылки? Например, страницы продуктов. Фильтрация проста:
product_urls = [page.url for page in tree.all_pages() if "/product/" in page.url] for url in product_urls: print(url)
Фокус на нужных данных. Чистые результаты. Меньше лишнего.
4. Сохранение URL в CSV
Печатать URL удобно, но хранить их — разумнее. Сохраним их в CSV:
import csv from usp.tree import sitemap_tree_for_homepage url = "https://www.asos.com/" tree = sitemap_tree_for_homepage(url) urls = [page.url for page in tree.all_pages()] csv_filename = "asos_sitemap_urls.csv" with open(csv_filename, "w", newline="", encoding="utf-8") as file: writer = csv.writer(file) writer.writerow(["URL"]) for url in urls: writer.writerow([url]) print(f"Извлечено {len(urls)} URL и сохранено в {csv_filename}")
Теперь у вас есть готовый CSV для дальнейшего анализа, парсинга или аудита.
Заключение
С помощью ultimate-sitemap-parser обход карт сайта становится быстрым и легким. Вы можете получить все URL за считанные секунды, автоматически обрабатывать вложенные карты и сохранять только нужные ссылки для более глубокого анализа. Независимо от того, занимаетесь ли вы парсингом, аудитом или SEO-оптимизацией, USP превращает сложную задачу в надежный и повторяемый процесс, экономящий время и дающий лучшие результаты.