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

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

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

Комментарии

Здравствуйте. Есть список прокси серверов, можно ли их сохранять в переменную, и подставлять эту переменную во вкладке прокси сервер? и еще вопрос, возможно ли использовать прокси которые имеют логин и пароль?

Спасибо за ответ по-поводу переменной, Игорь. А еще возникла у нас проблема с выполнением парсером JavaScript ссылок. Есть в тегах сайта классы с ссылками типа "href=javascript:...." Пейджер сайта построен на таких ссылках. Тоесть сама страница сайта при переключении ссылок пейджера javascript не меняется, а меняется только контент расположеный в определённом окне, который собственно и нужен. Что только я не пробовал (post-запросы, winhttp-формы с post-значениями, с разными вариациями этих значений) - никаких результатов. Примечательно также еще 2 вещи: При выборе действия "Загрузить исходный код страницы" - парсер выдаёт ошибку или перекидывает на страницу авторизации, и 2е - если в браузере загрузить нужный сайт и если в строке браузера, там где вводится URL вводить javascript ссылки без адреса страницы и т д и т п, только ссылки в формате:

javascript:__doPostBack('ctl00$ArticleList$PagerOben$lbtnNext','')

то страницы переключаются, если это действие повторить в аналоге функционала парсера (Загрузить исходный код веб-страницы - ввести эту ссылку в поле "URL сайта") - то выдаёт ошибку.

Таких сайтов сейчас всё больше и больше. И поэтому считаю назрела необходимость ввести в парсер два новых действия: "выполнить javascript ссылку" или "javascript действие" и добавить "считать текущий код страницы", так как при переключении между станицами javascript-пейджером исходник самой страницы не меняется, так как подгрузка информации javascript-апплетом не перезагружает саму страницу. Именно поэтому "Загрузить исходный код страницы" не работает.

Светлана, Вам ответили на почту по поводу сайта t-m-f.ru. Проверьте папку Спам, если не пришло.

Максим, чтобы задать нужный элемент массива, надо сначала сохранить посчитанное число в промежуточную переменную, а потом брать элемент массива, начиная с %РезультатВычисленияПеременной% в количестве 1.

после обработки второго парсера значение в первый - непонятно зачем передавать. Попробуйте использовать переменную (сохранить во втором, считать в первом). Должно сработать. Если не сработает, то можно использовать какую-нибудь ячейку, как буфер обмена. Второй парсер туда выведет значение, первый считает оттуда значение.

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

Игорь, помогите пожалуйста решить вопрос с математическими выражениями в строке. Как задать нужный элемент массива если нужен элемент который равен переменной умноженной на 2 и с прибавленой единицей. Такое математическое выражение невозможно создать непосредственно в строке объявления начала номеров перечня нужных массивов. Там принимается только целое число . Я даже пробовал для теста вводить, допустим, вместо двойки 1+1 или как в сроке формул Эксель =1+1. Ничего не получилось.

Ещё непонятно как взаимодействуют между собой два разных парсера если я передаю с одного парсера на обработку значение в другой парсер то как мне передать после обработки второго парсера значение результата обратно в первый? Как в первом мне обозначить в каком именно месте мне нужно его принять для дальнейшей обработки?

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

Здравствуйте!
Использую вашу программу, спарсить с сайта https://t-m-f.ru/where_buy_city/ клиентскую базу в формате:
1. Страна
2. Регион
3. Город

Сделать можно.
Вопросы по настройке не входят в стоимость программы. Если готовы оплатить помощь с настройкой, что-нибудь придумаем.
В одно действие решения нет, надо минимум 3-4 действия

Добрый день

Есть код

Print
стандартная комплектация

Нужно его преобразовать таким образом, чтобы вместо span class="case" был тег td. Для этих целей использовал действие - HTML: Замена / изменение тегов, прописал шаблон вида - [=text], но вот незадача, теги внутри данного тега удалились, есть ли возможность в данном действии вывести не текс тега, а его HTML код? Либо подскажите, пожалуйста, коим другим действием можно решить данную задачу, желательно шибко "не размазывая", так сказать просто и со вкусом...

Да, возможно, если не одновременно

Добрый день!

Вопрос: возможно ли записывать результаты нескольких парсеров в один файл эксель?

т.е. парсинг с нескольких сайтов пишется в один эксель лист?

По количеству циклов наборов действий - никаких ограничений я не вводил
Если работает что-то не так, - наверняка, есть ошибка в настройке
Не видя, что и как вы там настраивали, подробнее ответить не могу


Касательно многократного запуска по расписанию, и утечки памяти при этом, - я в курсе проблемы, работаю над её решением.
В следующих версиях проблема будет устранена.

Здравствуйте. В наборе действий Parser_finish стоит запуск парсера по расписанию через каждую секунду, при каждом запуске возрастает нагрузка на процессор, если работает очень долго выскакивает ошибка о недостатке памяти. С чем это может быть связано и как этого избежать?

При том, что если проверять результаты в ручную, нажимая "Тестировать", то циклы повторяются больше 19 раз.

Игорь, добрый день! Скажите почему программа в цикле выполняет только 19 циклов наборов действий и останавливается без причин для этого?

Здравствуйте, Андрей.
Нет, не будет. Работает только в эксель под windows

Здравствуйте, а будет ли работать на OpenOffice или Liberti Office?

Да, программа это всё может
(зациклить поиск - не проблема)
Описывать алгоритм не готов, - долго, да и от конкретного сайта зависит способ реализации.
(вкратце - набор действий для поиска ссылок, проверка на выполнение условия, из того же набора действий вызов его самого)
Можем настроить под заказ

Игорь, добрый день! Спасибо за программу! Столкнулся с вопросом по работе с вашей программой, на сайте нужно собрать все нужные мне ссылки и сохранить их в Excel, только вопрос в том, что на каждой странице показывается только по 2 ссылки, у этих ссылок нельзя подобрать адрес, они все разные, например в исходной странице, с которой начинает работать парсер есть ссылка 1 и 2, чтобы увидеть ссылку 3 и 4, нужно перейти на ссылку 2, чтобы увидеть ссылку 6, нужно перейти на ссылку 4 и т.д., всего ссылок 3000 примерно, причем каждую ссылку нужно вывести в таблицу Excel. Подскажите умеет ли программа замыкать в цикл работу до того пока не кончатся ссылки и одновременно сохранять каждую ссылку в Excel? Какой алгоритм действий и какими инструментами пользоваться? Это конечно не критично, но интересно как такое реализовывается в вашей программе.

или форма обратной связи на то и нужна, чтобы никак нельзя было достать email

именно так всё и есть
не достанете вы никак оттуда email

Здравствуйте, возможно ли получить email пользователя на сайте, с которым я могу связатья путем формы обратной связи? В html я ничего не нашел, запросы просмотрел, которые отправляются при отправке сообщения. Может можно какие-то запросы отправлять чтобы увидеть mail? или форма обратной связи на то и нужна, чтобы никак нельзя было достать mail (причем Mail не сайта нужен, а конкретного зарегистрированного пользователя. Вот ссылка на форму обратной связи с конкретным пользователем.
https://www.world-architects.com/en/schneider-architekten-st-georgen/con...

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

3.1.10 + реализовано автоматическое скачивание приобретенных плагинов при активации программы.

Где можно посмотреть, скачать сами плагины? Программа приобретена.

Добрый день, характеристики товара отображается вот так [url=https://imgbb.com/][img]https://image.ibb.co/mTVRbw/Image_019.png[/img][/url] как сделать что бы значения были рядом?

Понял, спасибо, в поле "если найдено" я ставлю -3 (после чего парсер не выполняет следующие действия, а берет из вышестоящего уровня следующий элемент массива и его опять начинает проверять в действии "поиск значения в столбце"), а что нужно поставить в поле "если НЕ найдено ", чтобы с данными начало работать следующее действие?

Для такого количества вариантов, используйте третий способ (таблицу замен)

но чтобы теперь пропускать уже спаршенные страницы

это делается совершенно иначе
поиск ссылки на страницу в заданном столбце
(действие есть такое, - поиск значения в столбце)
если ссылка найдена на листе - страницу не обрабатываем (останов с параметром -3, без вывода на лист)

Я делаю по 2му варианту. У меня вопрос - есть ли ограничения либо на кол-во символов, либо на кол-во условий (те что через вертикальную черту прописывается). К примеру мне надо чтобы этих вариантов через черту было 8000. Это возможно? или нужно разбить на несколько действий подряд (опять же вопрос - по сколько условий на действие нужно оставлять). Вообще у меня задача сейчас такая. Есть таблица 8000 строк - во время парсинга были пропуски из-за незагруженных страниц - я хочу опять пройти по сайту парсером, но чтобы теперь пропускать уже спаршенные страницы. Если есть более логичные способы буду рад если напишите.

Есть несколько вариантов решения, например:
1) действие "проверка на выполнение условия" - несколько действий подряд
2) действие "проверка на соответствие маске" - несколько условий подряд через вертикальную черту
3) действие "применить таблицу замен" - и список замен сделать, через меню Дополнительно - Таблицы замены..

Здравствуйте, как в "проверка на выполнение условия" проверить массив данных, из которого нужно удалить несколько элементов, для каждого из которых "значение для сравнения" разное. Другими словами мне нужно просто написать в поле "значение для сравнения" несколько значений через "или". Возможно ли это?

Здравствуйте. Вопрос - к примеру на сайте есть Ссылка "Архитектура" которая ведет на страницу сайта site.com/architecture. Как мне при парсинге вставить значение в ячейку также как на сайте, чтобы в ячейке было написано "Архитектура" с гиперссылкой на site.com/architecture. А у меня получается либо текст с сайта собирать либо текст ссылки вида site.com/architecture

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