Пишем парсер для сайта torgi.gov.ru

Вообще говоря, он уже написан. Но некоторые задаются вопросом, а как это сделать самостоятельно — на свой вкус. И строго говоря, в данном конкретном случае — не парсер, а автоматизированное получение данных с сайта, т.к. для него доступно api.

Заходим на сайт через браузер (Edge), выставляем необходимые значения параметров интересуемых лотов, жмём F12 (инструменты разработчика), выбираем вкладку «Сеть».

Дожидаемся пока на этой вкладке перестанут появляться новые записи, жмём на иконку «очистить». Теперь, жмём на кнопку «Показать ещё» — чтоб ‘сайт’ сделал запрос за новыми данными, который (запрос) нас и интересует, т.к. мы хотим его в последствии формировать сами. После нажатия, можно поставить запись на паузу.

Вот он, наш запрос (см. ниже). Копируем запрос (начинается с https://) и теперь сами вбиваем его в адресную строку браузера (т.к. используется метод GET). Инструменты разработчика (F12) можно уже закрыть.

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

Изменяя эту адресную строку можно перемещаться по страницам выдачи; выбирать, сколько записей хотим видеть в выдаче и т.п. Для её конкретизации, как и в самом начале, задаём интересуемые параметры через gui сайта, а затем уже подсматриваем получившийся запрос. Есть только некоторая проблема — существует ограничение на общее число лотов попадающее в такую выборку — порядка 10000 (100 страниц по 100 записей); но её можно решить искусственным образом через разбиение на несколько поисковых диапазонов по датам.

Стоп, а где автоматизация, можете спросить вы, не вбивать-же эти адреса руками в браузер? Есть множество вариантов, и самый простой — использовать curl для скачивания данных с сайта в файл. Но и без программирования не обойтись — надо автоматически формировать адреса запросов и разбирать json ответ от сайта.

Чтоб снова попасть на оригинальную карточку лота — берём значение id лота и добавляем его к общему адресу для всех лотов: https://torgi.gov.ru/new/public/lots/lot/

Loading

5 комментариев

    1. По вышеприведённому описанию получить информацию о лотах сможет любой вменяемый программист. Следующий вопрос, в каком виде Вы хотите иметь у себя эту информацию на сайте? na-stolbe.ru ?

Оставить своё мнение