Парсинг сайта с помощью Excel

На первый взгляд Excel и парсинг понятия несовместимые. Как с помощью табличного редактора можно получать информацию из сети? И ведь многие недооценивают Excel, а это вполне посильная задача для него. При этом все делается стандартными методами без необходимости дополнительно что-то устанавливать/настраивать.

Разберем на конкретном примере по получению информации с сайта Минюста, а именно, нам необходим перечень действующих адвокатов Российской Федерации. Кнопки «выгрузить списочно всех адвокатов» — конечно же, нет. На официальном сайте http://lawyers.minjust.ru/ выводится по 20 адвокатов на 1 странице, всего 74 754 страниц, итого на выходе мы должны получить чуть меньше 150 тыс. адвокатов.

Парсинг сайта с помощью Excel

Для начала открываем VBA и создаем объект InternetExplorer, посредством которого будем получать данные.

Парсинг сайта с помощью Excel

Затем надо определить, как будем переходить между страницами на сайте – для этого просматриваем элемент перехода на следующую страницу. Ссылка между станицами отличается значением в конце и соответствует номеру страницы – 1.

Парсинг сайта с помощью Excel

Имея информацию о ссылке страницы — осуществляем их перебор, загружаем в InternetExplorer и забираем все данные со страницы.

Парсинг сайта с помощью Excel

В коде страницы представлена структура таблицы со всеми столбцами, которые нам необходимы: реестровый номер, ФИО адвоката, субъект РФ, номер удостоверения, текущий статус.

Парсинг сайта с помощью Excel

Для получения этой информации с помощью ключевых слов осуществляем поиск по тегам и забираем требуемые данные.

Парсинг сайта с помощью Excel

В итоге получаем список всех адвокатов в таблицу Excel для дальнейшей обработки.

Парсинг сайта с помощью Excel
2
8 комментариев