Парсер сайтов и файлов (парсинг данных с сайта в 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 руб)

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

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

Комментарии

Здравствуйте возможно ли парсировать из несколько excel файлов, или есть пример на сайте похож.

Добрый день.
Как с помощью VBA сделать из двух тегов один для парсера цены товара с сайта?
Пример тега цены:

8
73
грн
Если использовать стандартное действие HTML Взять цену товара v.2 , то программа выдает тег 8 , а 73 нет.
Как их объединить? Очень нужна помощь.

Спасибо большое Николаю и Антону.

Очень элегантное решение проблемы. Ещё раз спасибо!

Вставлю свои 3 копейки. Допустим у нас есть список товаров, а именно: Comfort Prim Middle,Kids Comfort,Comfort Duos Middle/Hard,Comfort Prim Soft,Comfort Duos Soft/Middle,Comfort Prim Hard,Optima Comfort EVS1000,Round Optima Comfort EVS1000,Orto Premium Soft,Orto Premium Hard,Orto Premium Middle,Verda Hi-Soft memory,Verda Hi-Support,Verda Cloud,Verda Hi-Balance,Verda Balance,Verda Hi-Cloud,Verda Soft memory,Verda Support,Ocean Soft,Ocean Soft Transform,Optima Comfort EVS1000,Optima Concept EVS1000,Tatami Fuji,Tatami Fuji Max,Flex Zone. В действии - "Проверка на выполнения условия" в параметре "Режим проверки" выбираем RegExp (регулярные выражение, аналог "содержит", только намного "гибче"), в параметре "Значения для сравнения" пишем Verda|Comfort|Orto (расшифровка записи, если проверяемое выражение содержит Verda или Comfort или Orto, тогда... и в 3 параметре настроек "Действия при выполнении условия" выбираете, что с ними нужно сделать). Допустим мы выбрали при выполнении условия оставить, тогда на выходе мы получим только эти наименования товаров: Comfort Prim Middle,Kids Comfort,Comfort Duos Middle/Hard,Comfort Prim Soft,Comfort Duos Soft/Middle,Comfort Prim Hard,Optima Comfort EVS1000,Round Optima Comfort EVS1000,Orto Premium Soft,Orto Premium Hard,Orto Premium Middle,Verda Hi-Soft memory,Verda Hi-Support,Verda Cloud,Verda Hi-Balance,Verda Balance,Verda Hi-Cloud,Verda Soft memory,Verda Support, остальные товары парсер проигнорирует, т.к. они не удовлетворяют условию поставленной задачи. Надеюсь я подробно всё объяснил и верно уловил, что именно Вам нужно от парсера. Если я где-то допустил ошибку, надеюсь товарищи администраторы меня поправят...

Звездочка - * - это обозначение любого символа.

Поэтому когда Вы пишете *зал*, например, то сюда попадут все слова с таким сочетанием букв: вокзал, заливка, назальный и т.д.

Так что это именно тот вариант, что Вам нужен - содержит комбинации символов.

Дело в том, что мне нужна проверка не на точное соответствие условиям, а с формулировкой "содержит". Т.е., условно, из 1000 значений мне нужно оставить 300, которые не одинаковые, но каждые 100 из них содержат одинаковые комбинации символов. Т.е. мне нужно оставить значения с каждой из трёх комбинаций символов. Если такой возможности нет, то получается, что мне нужно отдельно прописывать каждые 300 точных значений. Учитывая, что в будущем будут добавляться новые значения, отличные от старых, но имеющие соответствующие комбинации символов, такой подход очень не удобен.

Дмитрий, если Вам надо оставить 2-3 значения, то используйте действие проверка на соответствие маске:
*условие1*|*условие2*|*условие3*
с параметром "Оставить", а не удалить.

Добрый вечер, Игорь!

Ситуация немного другая. Мне необходимо отбросить неверные результаты по условию "не содержит". Можно было бы использовать проверку на выполнение условия с режимом проверки "не содержит" и действием "удалить", но в этом действии можно задать лишь одно значение. Есть ли возможность задать, например, 2 значения.

В случае с "Проверкой на соответствие маске" мне придётся перечислять огромное множество значений, которые нужно удалить, вместо того, чтобы перечислить 2 или 3 значения, кроме которых все остальные нужно удалить.

Дмитрий, есть такая возможность
В действии «Проверка на соответствие маске» в первом параметре «Маска для проверки на соответствие» можно указать список значений через |
например, *Значение1*|*Значение2*|*Значение3*
Если же список большой, - можно применить таблицу замен (частичное совпадение, полная замена на «пусто»)


Дали, смотрите передаваемые данные в другом браузере (не Chrome)
Месяц назад Chrome перестал показывать передаваемые данные для POST запросов, если POST запрос выполняет редирект.
Подойдет браузер Opera, например (там всё аналогично)

Здравствуйте!
На сайте eventcatalog.ru нет в консоли браузера Form Data. Загрузка в IE тоже не помогает. ХЭЛП!
Не могу авторизоваться(
Видео просмотрел, не знаю, что делать дальше
Спасибо заранее.

Доброе утро!

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

Спасибо большое за поддержку!

Попробовал на другом компьютере (Windows 7), проблема решилась сама собой.

Александр, а зачем всё усложнять?
Действие «Загрузить ИСХОДНЫЙ КОД веб-страницы» вполне справляется с задачей, - к чему все эти отправки GET запросов?

Евгений, по плагинам чуть позже будет инструкция по использованию, + тестовые плагины (как образец) и плагины с доп. функционалом
Пока реализован лишь базовый функционал, идёт тестирование несколькими пользователями, и разработка плагинов.
Подключение плагинов будет выполняться в общих настройках программы, на 4-й вкладке «Плагины»

Спасибо Игорь, видео очень полезное, но...никак не получается загрузить исходный код https://raiton.ru/category/matrasy/

1. Открыть HTTP соединение
URL - https://raiton.ru/category/matrasy/ Метод запроса - GET

2. Добавить заголовок запроса

:authority:raiton.ru
:method:GET
:path:/category/matrasy/
:scheme:https
accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
accept-encoding:gzip, deflate, sdch
accept-language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
cookie:_ym_uid=1508856818332244650; _ym_isad=2; PHPSESSID=a1b5ba75960ed9f15c00d6c834575da3; BITRIX_SM_SALE_UID=1140901; BITRIX_SM_CITY_ID=14; BITRIX_SM_CUR_PRICE_TYPES=%7B%22base%22%3A5%2C%22real%22%3A9%7D; _ga=GA1.2.663184656.1508856818; _gid=GA1.2.1962885479.1509346872
referer:https://raiton.ru/category/matrasy/
upgrade-insecure-requests:1
user-agent:Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36

Добавил, отключил Cookies & Accept-Encoding

3. Отправить HTTP запрос и получить ответ

Нажимаю тестировать, выдает ошибку - Ошибка! Длина текстового ответа сервера = 0, в байтах: 0, ошибка -2147483638: Данные, необходимые для завершения этой операции еще не доступны. В чем проблема? Что я сделал не так?

Добрый день!

версия 3.1.0 + реализована поддержка плагинов (файлов .xla с дополнительными действиями для обработки данных)

Обновился, не могу найти.

Юрий, кеширование отключили?

Юрий, может что настроили не так, а, может, браузер тупит (IE вообще не славится стабильной работой)
Можем настроить под заказ

Здравствуйте, у меня вопрос такой: при попытке "прокрутить страницу вниз в Explorer" кода нету, как быть

Неверно задали URL (парсер воспринимает символы # и ? как символы маски)
Напишите в первом параметре действия *dom.gosuslugi.ru*
и всё заработает

Во время действи "подключиться к запущенному ie" в результате обработки получается IE not found, хотя ie запущен. В чем может быть причина? https://prnt.sc/h3emtu

Александр, надо передавать заголовки запроса.
Смотрите вторую видеоинструкцию

Добрый день, при попытке загрузить исходный код страницы https://raiton.ru/category/matrasy/?del_filter=y&PAGEN_1=1 выдает ошибку, мол сервер не ответил за столько-то секунд, выдает ошибку моментально, если выбрать кодировку страницы direct выдает ошибку

Ошибка прямой загрузки кода страницы
Код ошибки: 0x800C0008 (-2146697208)
INET_E_DOWNLOAD_FAILURE
The download has failed (the connection was interrupted).

Собственно вопрос, в чем проблема?

Спасибо, Игорь! Проблему решил.

Здравствуйте, Дмитрий
Лицензия не слетит.
Добавьте в список исключений мой сайт ExcelVBA.ru
и расширение файла надстройки *.XLA
(чтобы надстройки вообще не проверялись)

PS: может проще отключить вообще этого защитника, раз от него вреда больше, чем пользы?
Установите лучше бесплатного Касперского
Хотя, настроить исключения - не должно быть сложно.

Центр безопасности защитника Windows стал удалять Parser.xla постоянно. Даже не позволяет включить этот файл в список исключений, т.к. пишет, что он содержит вредоносную ссылку. Что делать? И при повторном скачивании и установке файла не слетит ли лицензия?

Вот спасибо! Не обращал внимание на этот пункт. Дальше разберусь

Виктор, для начала забываем про действие «Загрузить файл с передачей заголовков запроса». Это вообще не то, что вам нужно.
Загрузка любых файлов в парсере настраивается на вкладке ЗАГРУЗКА ФАЙЛОВ.
Добавляем там загрузку, в списке действий получаем массив ссылок (URL) для загрузки.
В качестве имени файла можно указать ссылку на переменную, содержащую массив значений вида
c:/ПолныйПуть1/aaa.jpg, c:/ПолныйПуть2/aaa.jpg

Массив имен файлов должен содержать столько же значений, сколько ссылок (URL для загрузки) сформировано действиями в списке действий загрузки.

Спасибо за ответ. Я понимаю, что у нас страна в стиле "платно". Но я это могу сделать если припрет другими вариантами: 1) внешний скрипт эксель, переименовывает файл в артикул+№.jpg, 2) php скриптом запрос в базу для получения оригинального наименования файла, 3) другие варианты
Вопрос в том, что есть в парсере возможность не применяя всяких внешних изысков это реализовать, может я опять какую-то команду не вижу...

Иван, напишите мне в скайп или на почту, решим проблему.

Здравствуйте.
Купили Ваш парсер на 3 ПК, на все установили, все работает отлично.
На одном из компьютеров после переустановки системы и офиса при вводе эл.почты для регистрации парсера вылазит ошибка, что парсер уже используется на 3 ПК.
Можно ли как-то решить эту проблему?