Иногда с пары-тройки десятков однотипных страниц какого-нибудь нестандартного сайта нужно перенести данные в табличную форму для того, чтобы проанализировать и построить наглядные сводные. Собирать данные вручную в эпоху умных чатов — не умно. Я попытался пойти по совсем простому пути — скормить ссылку ChatGPT и нехитрым промптом направить его умище в нужное русло. Ни он, ни его китайский коллега ссылку жрать не стали, а посоветовали написать скрипт на Python, чем мы сообща и занялись.
Итак, первый промпт (перед тем, как написать задание, я поковырялся в коде сайта и определил, в каких именно кусках страниц предстоит работать скрипту, извлекая данные):
Как парсер зайди по ссылке https://companies.***.ru/o**ed/8*.*3/ Из каждого слоя div class=’company-card info-card’ извлеки содержимое:
- company-status-badge и добавь в колонку с именем «Действует»
- company-name-highlight и добавь в колонку с именем «Название»
- class=’company-card__block’ Выручка: и добавь в колонку с именем «Выручка» содержимое из этого блока
- class=’company-card__block’ Темп прироста: и добавь в колонку с именем «Темп прироста» содержимое из этого блока
Сохрани все полученные результаты в таблице и сформируй файл в формате .xlsx

ChatGPT сразу предложил код для скрипта, объяснил что именно он делает и как его запустить, отвечая на дополнительные вопросы…

… и закидывая инструкциями.

Первая версия скрипта сработала, но не на 100% правильно (к слову, чтобы запустить .py скрипт, нужно иметь установленный на компьютере Python или иметь доступ к Jupyter Notebook).
Следующий промпт — для внесения изменений в написанный код.
Код ***_parser.py работает, но кусок, отвечающий за сбор данных по выручке и темпу прироста, не собирает ничего. Вот код, который надо обрабатывать:
Выручка: 149 651 000,0 ₽
Темп прироста: 24,91%
Данные, которые надо писать в колонку «Выручка», лежат после
Выручка: до закрывающего тега
Данные, которые надо писать в колонку «Темп прироста», лежатТемп прироста: до закрывающего тега

Выдав некоторое количество дополнительных инструкций, ChatGPT напомнил, что бесплатно он не работает и надо подождать чтобы продолжить использовать версию Plus, либо юзать менее умный вариант…

Я решил, что с простой задачей справится и версия поглупее, поэтому открыл новый чат и попросил внести изменения в уже имеющийся скрипт (я предварительно поменял в нем блок и немного накосячил, но меня быстро поправили).

Заботливый робот все отлично переписал и даже предложил дополнительно несколько улучшений к скрипту — на скрине работу с пагинацией.

Я согласился, но с пагинацией он не справился, нужно разбираться — почему.
Изначальная задача, тем не менее, была успешно решена — скрипт парсит страницу и складывает данные в экселевский файл.

А пагинацию мы допилим…
