Вежливый скраппинг HTML-страниц в Markdown/JSON на чистом Python 3 stdlib.
Загружай этот скилл когда нужно извлечь данные с веб-страницы: текст, ссылки и таблицы из выбранных секций — для анализа, отчётов или датасетов.
Use this skill when:
Do NOT use when:
BeautifulSoup/lxmlSKILL.md — этот файлscripts/scrape.py — скрапер (Python 3 stdlib: urllib.request, html.parser)# Markdown (по умолчанию), селектор по классу:
python3 skills/web-scraper/scripts/scrape.py --url https://example.com --selector "div.item"
# JSON, селектор по id:
python3 skills/web-scraper/scripts/scrape.py --url https://example.com --selector "div#list" --output json
# Все абзацы страницы:
python3 skills/web-scraper/scripts/scrape.py --url https://example.com --selector "p"
# Локальный файл (без сети, для теста):
python3 skills/web-scraper/scripts/scrape.py --url file:///tmp/test.html --selector "p"
# Увеличить задержку между запросами:
python3 skills/web-scraper/scripts/scrape.py --url https://example.com --selector "article" --delay 2.5
Селектор — простой tag, tag#id или tag.class (например div#list, tr.row).
Каждый совпавший элемент становится отдельным пунктом: текст, ссылки и таблицы.
Скрипт соблюдает правила вежливого скраппинга (встроены в код):
robots.txt с origin-хоста; если путь
запрещён правилом Disallow, скрипт пропускает страницу с сообщением и кодом 3.Mozilla/5.0 (compatible; web-scraper/1.0; +educational).--delay).# <title>, содержит секции ## Элементы (N) с текстом,
ссылками и таблицами.title, url, matched, items[] (text, href).Канонические аналоги, недостающие техники (Retry-After, backoff + jitter, crawl-delay, rate-limit заголовки, условные запросы) и CLI-примеры — в references/canonical-patterns.md. Топ:
respect_robots_txt_file=True, ретраи с backoff, autoscaling, ротация прокси.text_content(), page.content().