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

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

 

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

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

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

Комментарии

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

А что делать если в пейджере видно только 10 страниц, а дальше кнопочка NEXT, и «последняя страница» не указанна (на самом деле всего страниц 187). Действием «Получить все ссылки пейджера» программка выдает только 10 урлов, а не 187. Как быть в таком случае?

Да, можем
заказы на парсер (ТЗ) принимаются в таком виде
http://excelvba.ru/programmes/Parser/order

Программа-парсер стоит 2500 руб, + настройка под сайт от 1500 руб

Здравствуйте. Вы можете пропарсить сайт по ТЗ? Сколько стоит?
Спасибо.

Станислав, на вкладке «вывод на лист» есть подвкладка «настройки листа для вывода»
Там надо задать столбец, по которому определяется последняя строка таблицы.
Вместо столбца 1 «A» поставьте столбец, который ВСЕГДА заполнен данными, - и проблема исчезнет

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

Возможность есть
Вопрос непонятен (неясно, где массив получается)
Напишите в скайп, попробую подсказать (если готовы приобрести программу)

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

Вера, напишите мне в скайп, объясню.
Принцип в обоих вариантах один и тот же, - запускается набор действий с данным именем

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

Длина id никакого значения не имеет. Что-то не так настраиваете.
Напишите мне в скайп, разберемся.

Игорь, спасибо за ответ.
В моем примере id  тоже очень длинный и результата тоже не выдает.

id="ui-accordion-accordion_menu-panel-0"

Ирина, у этого тега есть id - лучше по нему искать

Скажите, как быть в такой ситуации.
Нужно найти тек DIV, где CLASS с очень длинным названием. Я попыталась вписать только часть текста, но результата так же нет.

Вот как выглядит код:

< div class="ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" style="display: none; overflow: hidden;" id="ui-accordion-accordion_menu-panel-0" aria-labelledby="ui-accordion-accordion_menu-header-0" role="tabpanel" aria-expanded="false" aria-hidden="true">
< ul >
< li class="forty" >

Здравствуйте, Сергей
Да, может, но я конкретно под этот сайт (яндекс маркет) не настраивал, так как знаю все нюансы,
там работы очень много по настройке (авторизация, обработка капчи, прокси-серверы, разные варианты выдачи результата, прочие нюансы)
Настроить можем под заказ, но будет дорого
Заказы на парсер принимаются в таком виде
http://excelvba.ru/programmes/Parser/order

Здравствуйте! Подскажите Ваш парсер может собирать данные с яндекс маркета ?

Владимир, специально для вашей задачи у меня есть другая программа (для обработки прайс-листов)
http://excelvba.ru/programmes/Unification
А фотки можно найти в Google другой надстройкой (для поиска и вставки картинок)
http://excelvba.ru/programmes/PastePictures

А парсер (в статье о котором вы разместили свой комментарий) - это больше для парсинга сайтов.

Здравствуйте!
Интересует парсер для обработки прайс-листов от разных поставщиков. Прайсы имеют разную структуру. Товары от поставщиков - шины. требуется обработка по категориям и поиск фото для товара.

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

Здравствуйте, Василий
Мало добавить макрос, - его надо еще и запустить
Там 2 параметра у действия, - в первом указываете название набора макросов (из вкладки Дополнительно - Макросы), куда вы этот код написали,
а во втором параметре - название запускаемого макроса (Очистить_файл)
И тогда всё заработает

Подскажите пожалуйста. Мне нужно что б перед каждым запуском парсера очищалась определенная область. Пытался "добавить макрос VBA в текущий файл" в parser_start но он не срабатывает. Пример макроса.

Sub Очистить_файл()

Range("A10:F10").ClearContents

End Sub

"Очистить лист от данных" не подходит. Так как убирает все после указанной ячейки.

Точно...
Спасибо.

Здравствуйте, Евгений
Такой опции нет, но вы можете сначала считать текст из файла, добавить текст до или после считанного, и сохранить под исходным именем.
По сути, получится то, что вам нужно, - только в 3 действия вместо 1.

Добрый день!
В настройках есть опция сохранить текст в файл. Возможно, дописывать текст в уже существующий файл.

Даже если повторно заходит, - в чём проблема?
При включенном кешировании, повторная загрузка страницы выполняется моментально.
А как удалить дубликаты строк по окончании работы макроса, я уже написал.

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

Я понял вас, но все же может есть пример в котором парсер не заходит на ссылки на которых уже был и они ему попались повторно. Или пример с проверкой по столбику в эксель на текущей странице) Очень пытаюсь понять подойдёт ли ваше чудо-творение под мои нужды.

Да, это возможно
Либо отправкой POST запросов, либо заполнением полей в браузере Internet Explorer
По POST запросам - видео есть, по заполнению полей в IE - пока нет.

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

Федор, всё можно настроить. Не видя, что у вас там настроено, конкретный совет дать не могу
Можем настроить под заказ.

Я вероятно не корректно выразил мысль. Суть в том что если на странице2 есть среди прочих данных и одна из ссылок со страницы1, то страницу2 не обрабатывать. Как бы значение при котором парсер пропускает страницу и переходит к следующей. Мне иногда тяжело выразить мысль) Большое спасибо за ваше внимание.