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

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

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

 

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

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

 

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

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

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

Комментарии

Нашел информацию в инструкции по моему вопросу. Поторопился спрашивать. Изучаю.

Игорь, спасибо за программу! Начал пользоваться и пребываю в восторге.

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

Не понятно, откуда надо удалить (с листа, из массива в парсере, что за подписи к ссылкам)
Потому, не готов ответить

как удалить повторяющиеся ссылки?
если подписи к ссылкам разные, сами ссылки встречаются дубликаты

Здравствуйте. Подскажите, пожалуйста, на сайте все технические характеристики в таблице, то есть все с одинаковыми тегами tr и td. Как их задать в парсере, чтобы брались определенные характеристики?

Инструкция, почему может не запускаться программа:
(почему не появляется панель инструментов)
https://excelvba.ru/faq/addin_toolbar

Но я скачал Ваш файл, но у меня пунктов меню программы надстройки не отобразилось Ваших! Вот такое отображается http://prntscr.com/lg667d

Тимур, моей программе разницы нет, лишь бы Excel работал

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

Подскажите был ли вопрос по парсингу соц.сетей, а в частности Ок. Если нет то вопрос такой "Можно ли настроить парсинг группы в Ок и Вконтакте"

Еще такой вопрос. Можно задать такой цикл. а то страница не с перового раза загружается. Идея такая: После загрузки URL проводить проверку. Если символов меньше 10000 то начать заново алгоритм. если больше то продолжить. Как можно подобную проверку задать?

Большое спасибо за быстрый ответ.

В этом случае (когда пейджер нестандартный, и программой не берётся), можно обойти проблему в несколько действий:

Действие Параметр Значение
Сохранить текущее значение в переменную Название переменной URL
Область видимости parser
Загрузить ИСХОДНЫЙ КОД веб-страницы URL
Кодировка веб-страницы
Загружать все страницы результатов
Кеширование
HTML: Поиск тегов Тип элемента ul
Название проверяемого атрибута class
Значение проверяемого атрибута pagination
Тип результата / извлекаемый атрибут innerHTML 1
HTML: Поиск тегов Тип элемента a
Название проверяемого атрибута
Значение проверяемого атрибута
Тип результата / извлекаемый атрибут ConvertToText
Минимальное / максимальное / среднее Функция для массива чисел Max
Проверка на выполнение условия Режим проверки меньше
Значение для сравнения 1
Действие при выполнении условия Задать новое значение
Параметр действия 1
Проверять другое значение нет
Другое проверяемое значение
СОЗДАТЬ массив чисел (для цикла) Начальное значение 1
Конечное значение
Шаг 1
Делитель для конечного значения
Добавить текст ДО или ПОСЛЕ Префикс %URL%
Суффикс /
Исходное значение Результат (массив из 46 значений)
http://avtotochki.ru/catalog/avtomoyki/pt5c1657912419996/
httр://avtotochki.ru/catalog/avtomoyki/pt5c1657912419996/1/
httр://avtotochki.ru/catalog/avtomoyki/pt5c1657912419996/2/
...
httр://avtotochki.ru/catalog/avtomoyki/pt5c1657912419996/46/

 

Добрый вечер. Игорь столкнулся с такой страницей http://avtotochki.ru/catalog/avtomoyki/pt5c1657912419996/ Хочу получить все страницы пейджера. Страницы меняются http://avtotochki.ru/catalog/avtomoyki/pt5c1657912419996/2/ по настройкам не как не могу задать чтобы получить все страницы. Поможете советом?

Здравствуйте, Николай
В примечание из переменной - да, конечно можно. Используйте для вставки %НазваниеПеременной%
Можно также использовать любые другие подстановочные коды

to Александр

Лично у меня Excel на удаленной банке всегда запущен, полет нормальный. Какой смысл постоянно запускать и закрывать его, один раз сам запустил, а дальше он живет собственной "жизнью"? Дайте ему больше свободы.=)

to Игорь

Здравствуйте Игорь, подскажите, можно ли в примечании (Вывод на лист ---> Формат ---> Примечание) выводить значение переменной?

Появилась необходимость запускать парсер на удалённом ПК, изучил мануал, добавил в планировщик, при тесте, всё хорошо, а вот при использовании, получаю следующую проблему:
Планировщик заданий срабатывает, запускается Excel, но само окошка с отсчетом времени запуска парсера, оказывается позади открытой книги Excel и парсер в итоге не запускается, пока не кликнуть в любое место либо книги, либо рабочего стола, в результате чего, окно с отсчетом времени переносится на передний план, отсчет начинается и парсер запускается
Суть происходящего записал на видео https://youtu.be/sKV0qtj0-0E Надеюсь на помощь, что предпринять, что-бы всё заработало. Спасибо.

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

Добрый день! Хотел обсудить с Вами создание одного парсера! Если возможно через скайп, мой скайп orakov88

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

Здравствуйте. А как прокси распределяются по потокам в многопоточном режиме?

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

Присоединяюсь к вопросу от 17.10.2018 https://excelvba.ru/programmes/Parser#comment-9564
Справка, не дала понимания. В настройке "исходных данных" всё понятно, указал имя столбца, парсер правильно указал диапазон, где находятся именно URLы, с которых необходимо забирать информацию. Ок. Но вот первое действие какое? Как получить первую ссылку из ячейки? Как отправить эту ссылку парсеру? Кажется уже все возможные варианты перепробовал, а все равно, запрос пустой и никак данные о ссылке не передаются парсеру. Помогите пожалуйста.

Здравствуйте, Канат
Ответ на ваш вопрос есть в справке по программе:
https://excelvba.ru/programmes/Parser/manuals/InitialDataTab#Column

Здравствуйте Игорь,
пробую ваш парсер, очень хорошая штука, спасибо. Пока тестирую, один вопрос - как загружать URL-ы web страниц находящихся в одном столбце (список) в файле Excel. Ну а далее уже по настроенным действиям парсера, там понятно. Т.е как циклом подставлять значение URL страницы в действие "Загрузить ИСХОДНЫЙ КОД веб-страницы"

С уважением Канат

Элементарно добавьте в любой проект в parser_finish планировщик при работающем прогресс-баре, что бы он срабатывал каждые 10 сек и заметите как у вас все окно покроется сплошными прогресс-барами и со временем парсер начнет нагружать систему.

Вышлите мне на почту файл настроек парсера, посмотрю, что там с утечкой памяти

Потому-что обнаружил утечку памяти при частых запусках планировщика, ну и старый прогресс-бар не закрывается при новом запуске парсера и все окно в прогресс-барах получается

А чем это действие не устраивает?
https://excelvba.ru/programmes/Parser/actions/AddScheduledTask

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
     _      _____  __     __        _____   _     
/ \ |___ / \ \ / / ____ |___ / | |__
/ _ \ |_ \ \ \ / / |_ / |_ \ | '_ \
/ ___ \ ___) | \ V / / / ___) | | |_) |
/_/ \_\ |____/ \_/ /___| |____/ |_.__/
Введите код, изображенный в стиле ASCII-арт.