XFetcher

XFetcher

На Пикабу
124 рейтинг 1 подписчик 0 подписок 1 пост 0 в горячем
27

Парсим и анализируем реecтр блогеров на сайте РКН

Всем привет. Я работаю над своим сервисом для сбора данных, мониторинга разных сайтов и СМИ, и мне стало интересно, можно-ли получить список блогов, зарегистрированных в РКН.

Что из этого получилось - ниже. (Спойлер: больше всего блогов зарегистрировано в VK).

На сайте РКН существует форма, где можно проверить, включён ли блог в реестр. Находится она тут: https://knd.gov.ru/licenses-registry и выглядит примерно так:

Парсим и анализируем реecтр блогеров на сайте РКН Данные, Сбор данных, Длиннопост

Если открыть DevTools, то видно, что запрос на сервис выглядит так:

Парсим и анализируем реecтр блогеров на сайте РКН Данные, Сбор данных, Длиннопост

Запрос

А ответ так:

Парсим и анализируем реecтр блогеров на сайте РКН Данные, Сбор данных, Длиннопост

Ответ

Можно увидеть, что:

  • В запросе есть несколько полей для фильтра (тип соц сети, название блога, статус).

  • В запросе поля page, size.

  • В ответе есть дополнительные данные, которые не отображаются на странице, а именно, ссылка на страницу, дата регистрации, и прочее.

  • В ответе поле content подразумевает, что может быть несколько записей, а не одна.

Из этого можно попытаться сконструировать запрос, в котором будут другие фильтры (параметры поиска) и другие параметры (чтобы вернуть не 1 запись, а несколько).

Немного поиграв с параметрам поиска удалось получить результат:

Парсим и анализируем реecтр блогеров на сайте РКН Данные, Сбор данных, Длиннопост

Видно, что dateCreation здесь 07.11 (запуск реестра), а количество элементов 131 586, т.е. скорее всего по этим фильтрам мы получили первую запись, а все остальные в этом запросе на следующих страницах.

Теперь можно попробовать увеличить параметр size.

1 -> 10 -> 100 -> 1000 работает! (больше - уже не работает).

Парсим и анализируем реecтр блогеров на сайте РКН Данные, Сбор данных, Длиннопост

И всего получается 132 страницы

Парсим и анализируем реecтр блогеров на сайте РКН Данные, Сбор данных, Длиннопост

Пробуем увеличивать параметр page -> 1,2,3 - Работает.

После 9й падает. Видимо, стоит ограничение на 10 000 результатов.

Тогда стоит попробовать разбить результаты так, чтоб по фильтрам было не больше 10к результатов.

Вернувшись к запросу можно заметить, что структура фильтра запрос совпадает со структурой записи в ответе.

Парсим и анализируем реecтр блогеров на сайте РКН Данные, Сбор данных, Длиннопост

В запросе фильтр: "bloggersRegistrationRegistry.BlogInformation.blogTitle", и в ответе, в объектах внутри content путь по вложенности ровно такой-же: bloggersRegistrationRegistry -> BlogInformation -> blogTitle

Парсим и анализируем реecтр блогеров на сайте РКН Данные, Сбор данных, Длиннопост

На верхнем уровне status тоже совпадает. Тогда мы можем попытаться соорудить фильтр по полю, которое может быть разным, но не слишком.

В ответе есть dateCreation, и это идеально подходит, т.е. мы можем сформировать фильтр по дате.

Ставим дату 01.01.2025, проверяем -> работает.

Парсим и анализируем реecтр блогеров на сайте РКН Данные, Сбор данных, Длиннопост

Теперь можно написать скрипт, чтобы пробежать по всем датам, начиная с даты открытия реестра, и если в ответе больше 1000 результатов, то пробежать ещё по всем страницам с этой же датой.

Пара сотен запросов - и получено 131 586 ссылок на странички.

Теперь можно посмотреть, а где-же больше все блогов зарегистрировали?

Я думал, в телеге, но нет, сюрприз - VK!

Парсим и анализируем реecтр блогеров на сайте РКН Данные, Сбор данных, Длиннопост

А если взять график по датам - то можно увидеть, что в январские праздники никто почему-то не регистрировал свои странички :(

Парсим и анализируем реecтр блогеров на сайте РКН Данные, Сбор данных, Длиннопост

А у вас есть идеи от чего ещё зависели пики на графике регистраций?

Спасибо за внимание.

P.S. Если интересна тематика сбора и обработки данных - комментируйте, напишу ещё.

Eсли нужна помощь в сборе, анализе данных и мониторинге - xfetcher

UPD:

Контакт: t.me/xfetchai

Показать полностью 11
Отличная работа, все прочитано!