Парсер сайтов и файлов (парсинг данных с сайта в Excel)

Надстройка Parser для MS Excel: общие сведения

Предназначение программы: быстрый сбор любых данных с различных сайтов или файлов, с выводом результата в Excel.

Основные возможности:

  • парсинг интернет-магазинов и любых других сайтов (соцсетей, каталогов, объявлений и т.д.)
  • извлечение данных из файлов формата Word / Excel / txt / PDF
  • скачивание файлов (изображений, документов, и т.п.)
  • обновление цен по ссылкам (мониторинг цен конкурентов / РРЦ)

Особенности программы

Простота использования и настройки

  • Запуск парсера нажатием одной кнопки на ленте Excel
  • Для настройки парсеров не нужно знание программирования!
    Достаточно минимально понимать HTML (что такое теги), и изучить 2 основные команды парсера (загрузка страницы, и поиск тегов). Этого достаточно для 90% задач.
  • Если сами не разберётесь с настройкой — всегда можно заказать нам настройку парсера под вашу задачу.
  • Всё что нужно для работы парсера, это Windows 10 (или новее) и Microsoft Excel (версии 2010 или новее)
    Иногда ещё нужен браузер Google Chrome (для работы с проблемными сайтами)
  • Можно настроить программу под несколько разных сайтов (задач), и легко переключаться между настройками через выпадающий список на панели инструментов программы.

Гибкая постобработка данных

  • Множество текстовых функций для обработки полученной информации
  • Разнообразные фильтры и функции перекодировки
  • Работа с переменными и массивами данных
  • Разбиение значений на отдельные элементы с индивидуальной обработкой
  • Автоматический вывод характеристик товаров в отдельные столбцы
  • Интеллектуальный поиск цен на страницах
  • Поддержка форматов JSON и XML

Продвинутые сетевые возможности

  • Несколько способов загрузки страниц — WinHTTP / WinAPI / WinINET / IE / Google Chrome
  • Авторизация — поддержка входа в аккаунты на различных сайтах
  • Региональные настройки — выбор географического региона для парсинга
  • HTTP-запросы — поддержка GET и POST методов, конструктор запросов
  • Cookies и Headers — полная работа с HTTP-заголовками и куки
  • Многопоточность — до 200 одновременных потоков для ускорения работы
  • Обход защиты — распознавание капчи через сервис RuCaptcha.com, паузы между запросами
  • Браузерная интеграция — работа с защищёнными от роботов сайтами через Google Chrome
  • Кеширование — сохранение данных для повторного использования

Неограниченные возможности поиска и навигации по сайту

  • Рекурсивный поиск страниц на сайтах
  • Поиск данных по HTML-тегам и их атрибутам
  • Автоматическое обнаружение ссылок пагинации (пейджера)
  • Специализированные функции для работы с HTML-таблицами
  • Преобразование HTML в текст и пары "название-значение"
  • Очистка HTML от лишних данных

Интеграция с Excel

  • Чтение данных из файлов Excel для использования в парсинге
  • Создание отдельных листов и файлов
  • Динамическое формирование столбцов для вывода результатов
  • Использование всех встроенных возможностей Excel (условное форматирование, формат ячеек)
  • Удобная панель инструментов для запуска парсинга

Работа с файлами

  • Сбор данных из файлов различных форматов (Word, XML, TXT, Excel, PDF)
  • Обработка файлов из заданных пользователем папок
  • Сохранение изображений и документов под заданными именами в настраиваемые папки

С момента выхода программы в 2014 году, её функционал постоянно развивался (вышли сотни обновлений), поэтому сейчас в парсере есть всё, что только может вам понадобиться для сбора данных из интернета.

Более подробно всё это описано в разделе Справка по программе

Видеоинструкция
YouTube
VK Video
RuTube

На видео рассказывается о работе с программой, и показан процесс настройки парсера интернет-магазина:

Дополнительные видео и подробное описание функционала можно найти в разделе Справка по программе

В программе можно настроить несколько парсеров (обработчиков сайтов).
Любой из парсеров настраивается и работает независимо от других.

Примеры настроенных парсеров (можно скачать, запустить, посмотреть настройки)

Видеоинструкция (2 минуты), как запустить готовый (уже настроенный) парсер

Если вам нужен готовый парсер, но вы не хотите разбираться с настройкой,
— закажите настройку парсера разработчику программы. Стоимость настройки под конкретный сайт - от 2500 рублей.
Настройка под заказ выполняется только при условии приобретения лицензии на надстройку «Парсер» (4000 руб)

Инструкция (с видео) по заказу настройки парсера
По всем вопросам, связанным с заказом, готов проконсультировать вас в Телеграм.

Как скачать и протестировать программу

Комментарии

Сабрина, заголовки запросов, скорее всего, не помогут избежать бана или капчи.
Для Озона, заголовки передаются для другой цели, - без них сервер просто не выдает ответ. А бана на Озоне вроде нет.
Если выскакивает капча, - обычно нужна авторизация, и пауза между запросами.
Для некоторых сайтов (типа Яндекс.Маркета) и этого недостаточно, - как минимум один раз выскочит запрос капчи.
Т.е. всё зависит от конкретного сайта.
PS: В программе есть возможность отобразить картинку капчи, чтобы пользователь ввел текст с неё для продолжения.
(обычно в таких случаях настройка достаточно сложная, - можем настроить под заказ)

Игорь, здравствуйте. В примере настроенного парсера (книги с 3 сайтов) вы добавляете заголовки запроса для Озон, чтобы не попасть в бан. У меня аналогичная ситуация с другим сайтом - выдает капчу после нескольких запросов. Я добавила такие же заголовки запроса, как в примере, но результат тот же. Есть ли способ узнать, какие заголовки запроса ждет данный сайт, чтобы добавить именно их?

Михаил, по пейджеру страниц - универсального решения пока нет.

Сейчас я делаю так (при помощи нескольких действий)
1) запоминаем ссылку на страницу в переменную (например, в переменную URL)
2) прогружаем страницу (получить HTML код веб-страницы)
3) находим пейджер - обычно это div класса navigation
4) находим в нем все теги a, берем текст этих тегов (innerHTML)
5) находим максимальное значение в массиве чисел (действие из раздела числовых функций)
6) создаем массив чисел от 1 до найденного максимального (действие из раздела Массивы)
7) дописываем текст до и после (например, перед каждым числом добавляем %URL%?page= )

Если сами не разберетесь, - звоните в скайп, помогу
Ник в скайпе: ExcelVBA.ru
Чтобы я смог помочь, от вас надо: http://ExcelVBA.ru/help

Здравствуйте, Игорь!
Поясните, как пользоваться функцией загрузки следующей страницы (page=+1) и проверка существования такой страницы

да, можно.
заказы на парсер принимаются в таком виде
http://excelvba.ru/programmes/Parser/order

можно ли настроить сайт www.caiga.ru для выкачивания данных?

Здравствуйте, Олег.
Если готовы приобрести программу, - помогу с настройкой авторизации.
Чтобы я смог помочь, от вас надо: http://ExcelVBA.ru/help

Добрый день! Спасибо за парсер! Увы, но у меня никак не получается пройти авторизацию (доменную) для загрузки исходного кода страницы.

Здравствуйте, Екатерина
Заказы на парсер принимаются в таком виде
http://excelvba.ru/programmes/Parser/order
Только в этом случае мы можем озвучить точную стоимость.
Сама программа стоит 2500 руб, + настройка под сайт LinkedIn обойдется примерно в ту же сумму.
Итого, около 5 т.р. за готовое решение.

большое спасибо за ответ.
скажите, а сколько будет стоить парсер именно для сайта LinkedIn? данный парсер должен собирать информацию из профилей (выданных после поиска по определенным критериям) в таблицу, примерные столбцы - фио, дата рождения, город, специальность, компания в которой работает в н.в. и должность, ну и контактная информация.

Я удаляю только анонимные комментарии (где не указан email, на который ответить), и когда в комментарии претензии необоснованные.
Вы не имя, ни email свой, ни указали, - что я вам должен ответить?
А работа у меня налажена, а на парсеры никто из покупателей не жалуется. кроме анонимов)

Настройте работу, комментарии всегда проще удалить, чем удалить не понравившийся комментарий
Удачи!
Парсеры ни о чем, с клиентами не работают

Екатерина, OneNote и Word, конечно, отличные способы хранения базы данных (как и MS Paint), — но моя программа выводит данные только в таблицу Excel (а оттуда результат можно скопировать куда угодно)
По соцсетям и хедхантеру, — там наверняка есть ограничения по количеству просмотра профилей / резюме.
Так что собрать данные можно, - но только в пределах, которые позволяет это сделать конкретный сайт.

добрый день, а можно ли ваш парсер сайтов использовать скажем для сбора резюме с сайта хэдхантер или профилей из социальных сетей в базу в one note? ну или в word хотя бы :))
спасибо.

По авито - не в курсе, не настраивал (у моего коллеги есть решение под авито, - отдельная программа)
Если готовы купить готовое решение для парсинга Авито, - пишите на почту или в скайп.

А как быть с подтягиванием данных с сайта авито? Интересует именно телефон. Другие поля подтянуть можно. А вот как быть с телефоном?

Владимир, для загрузки картинок по ссылкам,
у меня есть другая программа, - намного проще, чем парсер,
- и она корректно обрабатывает такие ссылки (только что проверил):
http://excelvba.ru/programmes/PastePictures

Пытался настроить парсер на скачивание картинок по ссылкам
=ГИПЕРССЫЛКА("http://www.gardenbulbs.ru/images/Bushes_CL/thumbnails/"&Q10&".jpg";"фото1")
в ячейке Q10 Abeliophyllum distichum 1
не работает

Упрощенный вариант макросов на скачивание по ссылкам тоже не работает

начинает работать если указать адрес страницы без Гиперссылки

Сабрина, по приведенной вами ссылке всего 2 отзыва, и они видны без прокрутки.
Потому, ничего подсказать не могу
Напишите мне в скайп ссылку, где надо прокручивать страницу, - что-нибудь придумаем

Спасибо за быстрый ответ. Конечно, решила пойти по пути наименьшего сопротивления и сделать через IE. Но это оказалось не так уж просто ;) Прокрутить страницу ни с задержкой, ни с маской кода ссылки не получилось. Найти элемент в Internet Explorer по id и щелкнуть по нему - тоже, говорит: элемент не найден. Но, если искать через Поиск тега по ID элемента — находится нормально. Что я делаю не так?

Здравствуйте, Сабрина.
Такая возможность есть, - только настройка сложнее получится.
Есть 2 варианта:
Вариант 1 - простой, но порой может подвисать, - для загрузки страницы использовать Internet Explorer, а потом применить действие «Прокрутить страницу в IE»
Вариант 2 - по аналогии с браузером, выполнять POST запросы для получения очередной порции данных
(в настройке намного сложнее, - около 15-20 действий, в отличие от 2 действий в предыдущем варианте)

Здравствуйте. Спасибо за такой функциональный и гибкий инструмент. Возникла только одна сложность — есть ли возможность добыть контент, подгружаемый javascript'ом? Например, отзывы на Озон подгружаются по мере прокрутки страницы http://www.ozon.ru/reviews/7002504/#tab_comments и парсер их не находит по имени класса (например, eCommentCell). Спасибо.

Свяжитесь со мной по скайпу: antonmashkin, посмотрим, в чем дело.

Подскажите, в чем может быть проблема. При поиске тегов по классу к примеру, при наличии нескольких одинаковых тегов на странице, программа выдает через раз то только 1е значение, то все сразу. А значения текстовые, и функции массива на них не работают, поэтому выбрать нужную (1ю к примеру), не представляется возможным( Функция разбития текстовой строки на массив тоже не помогает.

Проверить, есть значение или нет, очень просто: действие «Проверка на выполнение условия», условие «равно пустой строке»
Ну а вообще, согласен с вами, - 0 элементов массива для пустого значения правильнее будет. В следующем обновлении исправлю.

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

Тогда как проверить есть ли значение или нет.
Имеется сайт, на одних страницах есть значение атрибута, на других нет. А если есть - вывести кол-во элементов массива.

Так было задумано. Пустое значение - тоже значение
Потому, если на выходе НЕ массив, а одно значение (неважно какой длины, пусть даже нулевой) - программа считает это массивом из 1 элемента.

Не пойму, может так и надо, но если производить "поиск тэгов по классу" и внутри есть значения - они образуют массив. Когда есть массив, команда "количество элементов массива" отрабатывает нормально. Но когда массив пустой, команда "количество элементов массива" выдает значение "1". Это так нужно, или как это исправить?

27 октября 2015 г. в 01:59 стало доступно обновление программы «Parser» (версия 1.2.3).

Изменения в новой версии программы:

+ реализованы быстрые (текстовые) аналоги функций для поиска и удаления тегов, и конвертации HTML в текст
- исправлены ошибки в функции «проверка на выполнение условия»
+ добавлены новые возможности для упрощения тестирования настроек

Рекомендуем обновить программу до последней версии!