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

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

 

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

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

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

Комментарии

Спасибо за быстрый ответ. Конечно, решила пойти по пути наименьшего сопротивления и сделать через IE. Но это оказалось не так уж просто ;) Прокрутить страницу ни с задержкой, ни с маской кода ссылки не получилось. Найти элемент в Internet Explorer по id и щелкнуть по нему - тоже, говорит: элемент не найден. Но, если искать через Поиск тега по ID элемента — находится нормально. Что я делаю не так?

Здравствуйте, Сабрина.
Такая возможность есть, - только настройка сложнее получится.
Есть 2 варианта:
Вариант 1 - простой, но порой может подвисать, - для загрузки страницы использовать Internet Explorer, а потом применить действие «Прокрутить страницу в IE»
Вариант 2 - по аналогии с браузером, выполнять POST запросы для получения очередной порции данных
(в настройке намного сложнее, - около 15-20 действий, в отличие от 2 действий в предыдущем варианте)

Здравствуйте. Спасибо за такой функциональный и гибкий инструмент. Возникла только одна сложность — есть ли возможность добыть контент, подгружаемый javascript'ом? Например, отзывы на Озон подгружаются по мере прокрутки страницы http://www.ozon.ru/reviews/7002504/#tab_comments и парсер их не находит по имени класса (например, eCommentCell). Спасибо.

Свяжитесь со мной по скайпу: antonmashkin, посмотрим, в чем дело.

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

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

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

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

Так было задумано. Пустое значение - тоже значение
Потому, если на выходе НЕ массив, а одно значение (неважно какой длины, пусть даже нулевой) - программа считает это массивом из 1 элемента.

Не пойму, может так и надо, но если производить "поиск тэгов по классу" и внутри есть значения - они образуют массив. Когда есть массив, команда "количество элементов массива" отрабатывает нормально. Но когда массив пустой, команда "количество элементов массива" выдает значение "1". Это так нужно, или как это исправить?

27 октября 2015 г. в 01:59 стало доступно обновление программы «Parser» (версия 1.2.3).

Изменения в новой версии программы:

+ реализованы быстрые (текстовые) аналоги функций для поиска и удаления тегов, и конвертации HTML в текст
- исправлены ошибки в функции «проверка на выполнение условия»
+ добавлены новые возможности для упрощения тестирования настроек

Рекомендуем обновить программу до последней версии!

Александр, не видя настроек парсера, и не зная задачи, - ничего не могу сказать.
Чтобы я смог помочь, от вас надо: http://ExcelVBA.ru/help

Здравствуйте, а скажите пожалуйста как выводить результат поиска не в столбцы а в строки. Т.е. есть много значений и они записываются в B,C,D а надо в B2 B3 B4.

Кирилл, да, это распространяется на все загружаемые файлы.
Такая штука крайне редко нужна, - 95% сайтов отдают файлы без проверки каких-то заголовков запроса и прочего.
Но есть отдельные проблемные сайты, где надо эмулировать работу браузера (браузер передает заголовки запроса, и cookies в том числе, при скачивании файлов)

Спасибо за ответ!
Если я правильно понимаю, данное одно действие распространяется на весь список файлов для загрузки?
P.S. Не приходят уведомления на почту о факте ответа, не смотря на наличие галки о новых комментариях. В спаме проверял)

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

Если там без авторизации сайт - то все несложно настроить:
1) добавляем набор действий Parser_Start, а в нём - одно действие из раздела HTTP «Загрузить страницу с приемом cookies»
В качестве параметра действия (URL) указываете адрес главной страницы сайта
2) в настройках скачивания файла ставим галочку «требуется авторизация»

Если этого недостаточно, - то в Parser_Start надо прописать еще несколько действий «Добавить заголовок запроса» (из раздела HTTP)
Скопировав из браузера заголовки запроса (типа Host: адреса вашего сайта, Origin: адрес страницы, с которой запрошен CSV, и т.д.)
И поставить у этих действий параметр Использовать для всех запросов = ДА

Здравствуйте!
Подскажите пожалуйста, файл вида catalog_19102015.csv не скачивается со стороннего сайта. МОжно ли посмотреть на что парсер жалуется? Логи etc. Мне кажется что ему не нравится подчеркивание, если да - можно ли как то обойти это ограничение? (по ссылке браузер качает файл без проблем).
Спасибо за очень хорошую программу!

Здравствуйте, Роман.
Да, можно и авторизацию настроить
В настройках, вкладка ДОПОЛНИТЕЛЬНО - НАБОРЫ ДЕЙСТВИЙ
Создаете там набор действий с названием Parser_Start (чтобы он выполнялся автоматически при запуске парсера),
и там настраиваете авторизацию.

Пример настройки авторизации (для вашего сайта не подойдет - просто чтобы принцип понять) можно поглядеть здесь:
http://excelvba.ru/programmes/Parser/manuals/Authentication

Здравствуйте, подскажите пожалуйста, я настроил парсер, по примеру
"Парсер сайта gulliver.ru — загрузка данных по ссылкам"
все получилось, парсит все что мне нужно, кроме цены товара. Цена товара доступна только если ввести логин-пароль на сайте.

Вопрос, возможно ли настроить в программе, перед загрузкой страницы товара, входить под логин-паролем?

Алексей, да, всё работает.

Подскажите Парсер сайтов работает на Office 2016?

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

Предложенный мной способ (со сводной таблицей) позволяет ОДНИМ КЛИКОМ посмотреть динамику цены по конкретному товару.
Щелкните на картинке, - поглядите, как выглядит мой вариант:

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

В программе есть возможность заполнять примечания к ячейкам, но не добавлять, а полностью заменять примечания.
Вообще, для этой задачи я обычно делаю отдельный простенький макрос, который по нажатию кнопки добавляет все цены на отдельный лист АРХИВ (где располагается таблица из 4 столбцов: дата, товар, сайт, цена)
Потом по листу архив можно в несколько нажатий построить сводную таблицу, и отслеживать изменения цен в разрезе товаров или сайтов.
А если в примечания добавлять, - это потом вручную только просматривать ячейки по-отдельности...

Добрый вечер.
Думаю будет полезна функция "статистики" в примечании. Например проверил цену 01.10 в примечании 01.10 2050 руб. Проверял 5 дней подряд в примечании
01.10 2050руб
02.10 2025руб
03.10 1900руб
04.10 2100руб
05.10 н/д

ник в скайпе: ExcelVBA.ru

Напишите, пожалуйста,как найти Вас в скайпе.

Елена, напишите мне в Скайп, — я подскажу, что как сделать.
Не совсем понятна задача, — но, с вероятностью 99%, можно получить результат в нужном вам виде.

Здравствуйте! Попробовала загрузить демо-версию. Но она не дает возможность поэтапно сделать выгрузку, попробовать программу от начала и до конца. Мне необходимо будет с помощью программы привести каталог к такому виду в эксель, это возможно с помощью данной программы и возможно ли как-то проверить перед покупкой? :

Название Цена Орг% Тип товара Размер Кртинка Описание
Бриджи Артикул:6-1549 336 15 Бриджи 104,116,140, http://alena-opt.ru/uploads/image/file/3744/6-1549__1_.jpg`http://alena-opt.ru/uploads/image/file/3745/6-1549__2_.jpg`http://alena-opt.ru/uploads/image/file/3746/6-1549__3_.jpg`http://alena-opt.ru/uploads/image/file/3747/6-1549.jpg Материал:Кулирка (100% Х/Б) Предмет:Бриджи Сезоннность:Осень-Зима, Весна-Лето Пол:Девочкам

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

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

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