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

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

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

 

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

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

 

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

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

Комментарии

Добрый день! Хотел обсудить с Вами создание одного парсера! Если возможно через скайп, мой скайп 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

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

Напишите мне в скайп, обсудим, что и для чего вы делаете, — тогда может смогу что-нибудь посоветовать

путем перехода на первое действие в списке я так понимаю действует только если в парсере 1 подуровень, а если у меня их 3 и по окончании парсинга надо например запустить парсинг с первого подуровняуровня. какое действие мне надо добавить в parser_finish что бы зациклить парсинг?

Да, можно
Например, путем перехода на первое действие в списке
Инструкция: https://excelvba.ru/programmes/Parser/manuals/StopCodes

Здравствуйте. Можно ли как то одно фиксированное исходное значение поместить в бесконечный цикл без использования планировщика?

Мария, будет заказ — будет и оценка стоимости.
Заказы на парсер принимаются в таком виде
http://excelvba.ru/programmes/Parser/order
По срокам, обычно, от 1 до 4 дней после оплаты

Добрый день.
Сколько будет стоить настроить парсер? Какие условия и сроки?

Без понятия, что у вас там не так (я не телепат). Может, где какой буквой ошиблись.
Как видите, у меня всё работает
Могу настроить под заказ

Игорь, спасибо за ответ! Сделал все по инструкции, 5 идентичных действий, на входящее значение подаю ссылку на товар - но ответ все равно приходит пустой? Что могло пойти не так?) Кеширование страниц выключено. Я даже менял айпи на роутере.

Лев, тут надо обязательно передавать заголовок запроса x-requested-with=XMLHttpRequest
иначе ответ придёт пустой.

Запрос (GET) выполняется на URL вида https://ru.iherb.com/catalog/Get360ImageUrls?pid=69226
где 69226 - id товара из ссылки на карточку товара

 

Исходное значение
Действие Параметр Значение Результат
Часть строки по разделителю (split) Разделитель / Число (длиной 5 символов)
Индекс нужной части last
Список имён переменных через |
Добавить текст ДО или ПОСЛЕ Префикс https://ru.iherb.com/catalog/Get360ImageUrls?pid= Ссылка:

Суффикс
Открыть HTTP соединение URL <без изменений>
Метод (тип) запроса GET
Добавить заголовок запроса Заголовок x-requested-with <без изменений>
Значение XMLHttpRequest
Использовать для ВСЕХ запросов нет
Отправить HTTP запрос и получить ответ Сохранять Cookies нет Текст (длиной 497 символов)

Кодировка веб-страницы

Добрый день! Подскажите, пожалуйста, как например на данной странице https://www.iherb.com/pr/Olympian-Labs-Inc-Melatonin-Alcohol-Free-Grape-... найти все ссылки класса "zoom-image"? Они появляются на странице по клику на картинку 360, но если настраивать клик в браузере - то это будет очень долгий процесс. Возможно, есть способ пост/гет запросами сделать? Пробовал по Вашей инструкции из видео сделать гет-запрос (в данном сайте именно гет) - но ничего не возращается, мол "сервер еще не обработал...".
Буду очень признателен за подсказку! И приведу клиентов! ;)

Здравствуйте, Евгений.
Да, возможность есть.
Читайте справку по действию HTML: Поиск тегов
https://excelvba.ru/programmes/Parser/actions/GetTags

В четвертом параметре «Тип результата / извлекаемый атрибут» можно указать название атрибута data-product-vendor, и результатом будет значение SPARKY

Есть возможность вот такой тег А разобрать по костям
В нем есть все что нужно - вашими средствами получается только название вытащить - а там и цена и код

Отвертка аккумуляторная SPARKY GR 3,6Li

Здравствуйте, Евгений.
В справке по парсеру написано про возможность использования планировщика задач:
https://excelvba.ru/programmes/Parser/manuals/scheduler

добрый день
Есть возможность запуска парсера не в ручную а в автоматическом режиме?

По сайту vamsvet.ru — там настройка немного нестандартная (пейджер на скриптах, иначе настраивается перебор страниц)
Можете приобрести готовое решение для этого сайта:
https://excelvba.ru/programmes/Parser/samples/vamsvet.ru

Добрый день, подскажите какой использовать префиск пейджера если значение /#p1 Например https://www.vamsvet.ru/catalog/section/lyustry/#p2

Здравствуйте, Вадим

При изменении значений в выпадающих списках на этом сайте выполняются POST запросы
Например, при выборе в первом выпадающем списке значения «автобус» выполняется POST запрос на адрес http://depo.vn.ua/system/ajax с параметрами:

field_transporttype: 2 (номер выбранного значения в списке, начиная с 0. Здесь 2 - это автобус)
_triggering_element_name: field_transporttype (название выпадающего списка)
form_id: rozklad_dependent_dropdown

(там еще куча параметров, но они не меняются)

Посмотрев вторую видеоинструкцию (по настройке POST запросов), можете попробовать настроить
https://excelvba.ru/programmes/Parser/manuals/Loading_Pages_and_Logon
За выполнение POST запроса отвечает это действие:
https://excelvba.ru/programmes/Parser/actions/WinHTTP_POST

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

справка к программе довольно слабо расписана, это нарочно сделано?

слишком много разных сайтов,
под все случаи инструкции не напишешь

может дадите свои контакты

контакты указаны на сайте: https://excelvba.ru/contacts

Игорь, может дадите свои контакты - хотел бы обсудить сотрудничество (в частности рефералку)

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

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