Собираем парсер. Его задача — этично забрать нужные данные со страницы, привести их в порядок и сохранить снимок в историю. Всё это соберёт Claude Code по заданию.
🎯 После урока сможешь: собрать парсер, который этично забирает данные и сохраняет их в историю.
Шаг 1. Задание для Claude Code
«Сделай парсер цен с каталога [адрес]: забирает название и цену, уважает robots.txt, делает паузу между запросами, сохраняет снимок в SQLite с датой. Библиотеки httpx и BeautifulSoup».

Шаг 2. Как устроен сбор
Каркас простой: httpx скачивает страницу, BeautifulSoup достаёт нужные кусочки (название, цену), результат складываем в базу со снимком по дате.
import httpx
from bs4 import BeautifulSoup
html = httpx.get(URL, timeout=10).text
soup = BeautifulSoup(html, "html.parser")
for card in soup.select(".course-card"):
name = card.select_one(".title").text.strip()
price = card.select_one(".price").text.strip()
save_snapshot(name, price) # снимок в SQLite с датой
Этика прямо в коде: перед сбором парсер проверяет
robots.txtи делает паузу между запросами (например, 1–2 секунды), чтобы не создавать нагрузку на чужой сайт. Это не «замедление ради галочки», а правило хорошего тона и защита от блокировки.
Шаг 3. История в базе
Каждый запуск добавляет в SQLite новый снимок: название, цена, дата. Так со временем накапливается история, по которой видно динамику — это и отличает мониторинг от разового сбора.
Контрольный вопрос. Какие две библиотеки Claude Code использует, чтобы скачать страницу и достать из неё данные? Впиши обе (через пробел или запятую).
Исходный код для этого задания:
import httpx from bs4 import BeautifulSoupПодсказка: Первая скачивает страницу, вторая (BeautifulSoup) разбирает HTML. Смотри импорты.
Онлайн-проверка ответа появится позже
Контрольный вопрос. Зачем парсер делает паузу между запросами?
Подсказка: Вспомни правило «не долбить» из урока про этику.
Онлайн-проверка ответа появится позже
Контрольный вопрос. Зачем сохранять каждый запуск как снимок в SQLite?
Подсказка: Ценность мониторинга — в сравнении со вчерашним.
Онлайн-проверка ответа появится позже
Что дальше
Парсер собирает историю. Но данные сами по себе — это ещё не ценность. В следующем уроке подключим Claude API: он оценит, что изменилось важного, и напишет человеческий отчёт.
