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

Структура программы «Парсер сайтов»

Надстройка Parser для Excel — простое и удобное решение для парсинга любых сайтов (интернет-магазинов, соцсетей, площадок объявлений) с выводом данных в таблицу Excel (формата XLS* или CSV), а также скачивания файлов.

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

 

В парсере сайтов поддерживается авторизация на сайтах, выбор региона, GET и POST запросы, приём и отправка Cookies и заголовков запроса, получение исходных данных для парсинга с листа Excel, многопоточность (до 200 потоков), распознавание капчи через сервис RuCaptcha.com, работа через браузер (IE), кеширование, рекурсивный поиск страниц на сайте, сохранение загруженных изображений товара под заданными именами в одну или несколько папок, и многое другое.

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

За счёт тесной интеграции с Excel, надстройка Parser может считывать любые данные из файлов Excel, создавать отдельные листы и файлы, динамически формировать столбцы для вывода, а также использовать всю мощь встроенных в Excel возможностей.
Поддерживается также сбор данных из текстовых файлов (формата Word, XML, TXT) из заданной пользователем папки, а также преобразование файлов Excel из одного формата таблицы в другой (обработка и разбиение данных на отдельные столбцы)

В программе «Парсер сайтов» можно настроить обработку нескольких сайтов. Перед запуском парсинга (кнопкой на панели инструментов Excel) можно выбрать ранее настроенный сайт из выпадающего списка.

Пример использования парсера для мониторинга цен конкурентов

 

Видеоинструкция

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

 

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

 

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

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

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

 

Настройка программы, - дело не самое простое (для этого, надо хоть немного разбираться в HTML)

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

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

 

Программа не привязана к конкретному файлу Excel.
Вы в настройках задаёте столбец с исходными данными (ссылками или артикулами),
настраиваете формирование ссылок и подстановку данных с сайта в нужные столбцы,
нажимаете кнопку, - и ваша таблица заполняется данными с сайта.

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

 

Справка по программе «Парсер сайтов»

Можно попробовать разобраться с работой программы на примерах настроенных парсеров

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

Комментарии

не могу настроить
http://nbt.tj/tj/kurs/kurs.php
как сделать не подскажите

Таблицу валют - можно загрузить, если есть откуда загружать)

Здравствуйте возможно ли загрузить таблицу курсами валют

Спасибо за парсер, отлично все работает. Отдельное спасибо Антону, который настраивал его под наше ТЗ. Все сделано очень быстро и грамотно, учтены совершенно все пожелания. Удачи Вам.

Еще неплохо иметь звуковое оповещение при ошибке парсера.

Звуковой сигнал (Beep) через запуск внешнего макроса можно сделать.

Здравствуйте.
Сейчас такой возможности нет (никто ранее не просил), но сделать несложно (если нужно)

Добрый день!
Подскажите, есть ли возможность звукового оповещения окончания работы парсера Beep() через динамик системного блока.

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

Хотел скачать Ваш парсер. Скачивает файл полностью, а потом выдает "Прервано: ошибка загрузки".
Такой результат я получил на Опере и Хроме. Internet Explorer вообще отказался качать.

Насчёт паузы, - в новой версии (2.0.5) появилась такая возможность.
Смотрите последний пример в инструкции для действия «Случайное число»

Что касается второго вопроса, — сделать можно разными способами,
но, поскольку из вашей формулировки вопроса я мало что понял, — ничего конкретного посоветовать не могу.
Позвоните в скайп, объясните мне, что надо сделать, — и я подскажу, как это делается.

Ниже в комментариях был вопрос про паузу (рендом) мне тоже интересно, как в парсере ее сделать? Напишите пожалуйста.
Игорь, как поступить в такой ситуации: Парсер исполняет команды 1-2-3-4, по циклу как в команде -3- задать значение которое меняется? Скажем 3 команде может соответствовать значения а,б,в из определенного листа. Что бы работа парсера получилась:
1-2-а-4
1-2-б-4
1-2-в-4

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

может ли программа парсить сайт если сначала нужно пройти авторизацию на сайте?

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

Добрый день!
Есть пример настроенного парсера с пейджером страниц? если нет то как получить все страницы (сейчас получается только 4 их более 100)

Windows 7 - английская верися. Русский язык есть только в раскладке.

С кодировкой - проблема бывает, если Windows некорректно русифицирована.
Для решения проблемы, нажмите О ПРОГРАММЕ - АКТИВАЦИЯ, в поле активация введите CP1251
и нажмите кнопку Активировать.
Спустя пару секунд откроется архив с файлом 1251.reg - запустите этот файл, и после перезапуска компа проблема с кодировками будет решена.

И да, в новой версии программы тестовый период продлен до 15 дней.

Часть текста в парсере Parser_v1249 и папка с настройками переименовалась в непонятную кодировку (CP1252) такого вида: Íàñòðîéêè ïàðñåðîâ
В версии 2 такая же тема. Виндоус 7. Оффис 2010. До этого таких проблем не было дистрибутивы одни и теже. Недавно переустанавливал виндоус.
Так же в версии 1249 правильно ли я понял вместо 20 запусков теперь дается 15 пробных дней?

Получилось с notregexp и маской \d\d\d

Попробовал сделать - выдает пустое значение
http://prnt.sc/a9w9w2
При использовании notregexp результат лучше, но по непонятным причинам остается еще один элемент массива
http://prnt.sc/a9wcmw

Словарика (полноценной справки по программе) пока нет
Для всех полей параметров действий:
%varname% - подставить значение переменной varname
{1} или {5} - подставить значение из столбца 1 (или 5) текущей строки листа

Что касается подстановочных символов типа *#? для маски (в некоторых действиях) - тут все просто
(* это любое количество любых символов, ? это один любой символ, # это одна любая цифра)

Что касается regexp - список допустимых в шаблоне regexp символов можно найти в интернете
я обычно по регулярным выражениям здесь смотрю: http://javascript.ru/regexp

Спасибо за быстрый ответ. Есть какой-то словарик с подобными символами, где можно было бы их посмотреть. Где бы я мог посмотреть, что # - это любое число. Что, чтобы использовать переменную, нужно ее заключать в символ % и т.д. Я надеюсь я смог донести, что имею ввиду

Да, всё это есть, причем можно настроить разными способами.

есть ли действие, на удаление всех символов, кроме цифровых

можно использовать действие «Регулярные выражения» с шаблоном поиска \d
тогда останутся только цифры
А можно задать и регулярное выражение для email (поищите в интернете примеры шаблона regexp для email)

в действии "Проверка на выполнение условия" указать, чтобы удалялись элементы массива, не содержащие

да, можно
первым параметром выбираете NOT LIKE, а вторым ставите маску ###
или, там же, первым параметром NOT REGEXP, а вторым пишете \d{3}

т.е. к примеру в действии "Проверка на выполнение условия" указать, чтобы удалялись элементы массива, не содержащие (в случае с mail я указал @) "(###", где # это не конкретная цифра, а любая

Спасибо за ответ. Вопрос - а есть возможность из массива, оставить лишь значение, содержащее к примеру 3 цифры(любых) следующих друг за другом, следующих друг за другом. Мне это нужно, чтобы спарсить телефон из простого текста. Подобным образом получилось спарсить mail (использовал "Проверка на выполнение условия", где указал "@"), с телефоном посложнее, т.к. на разных страницах, телефоны прописываются по разному.
2й Вопрос - есть ли действие, на удаление всех символов, кроме цифровых

Закольцевать-то парсер можно, вот только из таких решений обычно ничего хорошего не получается
Вариантов настройки несколько, - но все немного нестандартные (т.к. парсер сделан так, чтобы случайно это зацикливание не реализовать)
Увы, не видя конкретных сайтов и примера результата, ничего подсказать не могу.
Но сделать можно (можем настроить под заказ)


Руслан, насчёт бана IP, - тут только прокси-сервер поможет
Работа со списком прокси в моем парсере пока не реализована, - потому, проще поискать готовую программу, которая прописывает / меняет прокси для всей системы.
Как пример, есть такая программа с названием Hide IP

Здравствуйте, у меня вопрос. Хотел сделать следующее - парсер должен найти на указанной странице (А) данные (и вставить их в таблицу) и ссылку на страницу (B), затем на странице (В) данные (и вставить их в таблицу) и ссылку на страницу (С)... и так далее - пока не закончатся таблицы.
Адреса страниц (А,В,С...) различаются только названием фирмы, т.е. www.ОДИНАКОВОЕ/название фирмы
Я пробовал использовать каждый раз получать данные из ячейки (из предыдущей строки - т.е. те данные которые вывел парсер пытался использовать для следующей строки) - но парсер выдал ошибку при инициализации исходных данных ("В столбце "4" нет заполненных ячеек, начиная со строки 2).
Т.е. нужно сразу задавать все исходные данные...
Есть ли возможность внтури парсера как-то его закольцевать, я в этом новичок - поэтому не могу разобарться

Здравствуйте. Отличный парсер. Но сайт через 800 запросов банит IP адрес. Что вы посоветуете для динамической подмены IP адреса? пробовал VPN - не самое лучшее решение.

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