Итак, исходные данные: есть сайт https://pub.fsa.gov.ru/rss/certificate. Необходимо получить список сертификатов за 5 лет, извлечь информацию (32 параметра для каждого) и сохранить список в Excel.
В браузере имеем таблицу со списком, который выводится постранично, на странице от 10 до 100 строк, справа - фильтры. Список содержит названия и краткую информацию о сертификатах, при клике по строке попадаем в раздел с подробной информацией в виде таблицы с множеством вкладок.
А что же у нас внутри? Содержимое подгружается динамически с помощью js-запросов, что, конечно, не сюрприз. Через devtools видим, что есть API, что сильно упрощает задачу - можно обойтись без имитации браузера и получать данные напрямую запросами. Но! Без авторизации запросы не проходят... Что ж, тогда с помощью библиотеки на основе Selenium при запуске имитируем вход на сайт и перехватываем данные авторизации в заголовках. Работает в headless режиме, что даёт возможность по-прежнему запускать скрипт на дешевых vps без графического интерфейса. Всё, теперь можно пользоваться запросами, поместив в собственные заголовки полученные данные авторизации, а Selenium больше не нужен.
Запрос на получение списка довольно прост. Он дает нам возможность получать ссылки на сертификаты по 100 штук за один запрос. Обойти все страницы не составит труда. Подробную инфу по каждому элементу получить чуть сложнее - тут 2 запроса, где второй ссылается на данные первого. Но это детали. Получаем, разбираем, сохраняем в csv. Готово.