Парсинг и данные

Парсер и сбор данных

Скрипт сбора данных и сохранения в PostgreSQL.

Вернуться в примеры

Парсер и сбор данных. Скрипт сбора данных и сохранения в PostgreSQL. Результат — строки в таблице и второй запуск без дублей. На скринах учебные подписи — имя, домен и токен замените своими. Карты, пароли и чужие кабинеты в чат не кладите.

Вечер один: узкий запрос, затем diff, затем одна вторая правка по теме «Парсер и сбор данных». Не смешивайте её в том же диалоге с оплатой, деплоем или «перепиши проект».

Парсер и сбор данных: как выглядит результат

Что должно лежать в таблице

Сначала закройте это: Скрипт: список URL → HTML или JSON → строки в таблицу. Пока пункта нет в diff, к следующей правке не переходите.

Дальше держите условие «PostgreSQL: таблица с url, title, fetched_at». Если агент принёс соседнюю задачу, отклоните diff и повторите запрос без неё.

Отдельной границей остаётся вот что: Пауза между запросами, нормальный User-Agent, обработка 429/5xx. Это не пожелание на потом.

В списке ещё пункт «Не логините агента в чужие кабинеты и не обходите защиту «чтобы получилось»». Короткий diff с ним полезнее длинного «я ещё улучшил».

Всё это умещается в первое сообщение. Вторую тему в него не добавляйте, даже если она кажется соседней.

Папка и первый запрос

Откройте пустую папку через File → Open Folder. Не домашний каталог и не рабочий стол: иначе агент читает чужие файлы и правит не тот проект.

Первое сообщение для «Парсер и сбор данных» — на один экран:

Первый запрос агенту

Плохо звучит «сделай нормально». Хорошо звучит просьба, которая начинается с «Скрипт: список URL → HTML или JSON → строки в таблицу». После ответа откройте результат сами. Если страница, бот или команда молчит — вставьте агенту текст ошибки, а не слово «не работает».

Скрипт сбора

В diff ищете главный файл, не пачку новых зависимостей. Следующее сообщение указывайте через @ на этот файл, чтобы агент не создал копию рядом.

Главный файл

В файле должна читаться тема «Парсер и сбор данных». Ключей, паролей и чужих репозиториев рядом быть не должно. Лишний фреймворк — повод отклонить diff.

Повторный запуск без дублей

Вторая задача одна. Не просите заодно тесты, деплой и новый дизайн.

Вторая правка

«Напиши скрипт на Python: читает urls.txt, кладёт title в Postgres, секреты из .env». Потом отдельно: ретраи, идемпотентность по url.

@ на схему и сам скрипт. Если агент тянет Selenium «на всякий случай» — спросите, хватит ли обычного HTTP.

Проверка: два запуска подряд не плодят дубли.

Если на эту правку открылось больше пары файлов, оставьте только то, что относится к «Парсер и сбор данных».

Если агент уехал в сторону

Откатите лишнее. Для этой темы хватает трёх фраз:

  • «верни только файлы из первого запроса, соседние проекты не трогай»;
  • «не добавляй пакет и аналитику, если их не было в списке: Скрипт: список URL → HTML или JSON → строки в таблицу»;
  • «секреты не пиши в код и не проси прислать их в чат».

Короткий diff лучше длинного, который заодно переименовал половину репозитория.

Какие файлы нормальны

После вечера достаточно fetch.py, urls.txt, .env со строкой Postgres и схема таблицы. node_modules и сборки в git не кладите.

Тексты и подписи меняйте отдельно: «замени формулировки, структуру файлов не трогай». Тема вечера остаётся прежней: Парсер и сбор данных.

Когда парсер готов

Проверьте сами то, что обещает описание: Скрипт сбора данных и сохранения в PostgreSQL. Когда это видно без чата агента, можно открыть связанные материалы: новости про контекст, как начать.

Следующий пример из каталога начинайте новым чатом.

Мы используем файлы cookie для того, чтобы предоставить пользователям больше возможностей при посещении сайта. Оставаясь на сайте, Вы соглашаетесь на обработку файлов cookie. Подробнее об условиях использования.