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

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

 

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

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

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

Комментарии

Суть в том, что имеется 3 файла иксель. и в каждый надо определенный заказ. например закак 137 нужно в бланк пшеница, а заказ 168 нужно в бланк овес. для каждого номера заказа нужно присвоить свою ячейку таблицы

Добрый день. Вот страница.
https://moscow.spiti.ru/12850
С этой страницы необходимо собрать контактные данные (все номера телефонов, емейл и скайп (при наличии), а так же ИМЯ.
Все это нужно собрать в ексель с этого сайта в каждом городе, в каждой области, каждого арендодателя...
Готов заплатить за парсер и его настройку...
Могу использовать парсер как на макбуке, так и на виндовс.
с уважением, Сергей.

Здравствуйте, Андрей.
Да, возможно.
Программа авторизуется на сайте, зайдет в админку, увидит список заказов, и перенесет этот список в таблицу Excel.
Но, обычно, это делается средствами сайта, - чтобы кнопку на сайте нажать, и скачался файл Excel с выгрузкой заказов...

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

Сергей, прокси пока в программе не задать (будет в следующих версиях, но когда конкретно - сказать не могу)
Как вариант, - прописывать прокси в системе (в настройках Internet Explorer)

Если прокси нужно только для парсера, - тоже есть вариант:
1) нажать Пуск - Выполнить
2) ввести команду netsh winhttp set proxy 12.34.56.187:1234
(с IP и портом вашего прокси)
3) для сброса прокси, используется команда netsh winhttp reset proxy

Насчет ссылки (если там редирект выполняется):
1) получили ссылку (взяли там её откуда-то)
2) действие «Загрузить исходный код веб-страницы»
3) действие «Получить текущий URL» (из категории «HTTP запрос»)

И честно говоря не нашел команды, смысл имеем ссылку А при запуске ее переходим на сайт Б. Как в списке действий парсера
1) получили ссылку
2) прошли по полученной ссылке
3) вывели новую ссылку в ячейку.
Спасибо за интересную надстройку. А как прикрутить прокси к надстройке?

Случайную паузу можно сделать (немного постаравшись) - но в вашем случае это не поможет
С яндекс-маркетом, - только авторизация, + как минимум один ввод капчи.

А как сделать рандомную паузу? Скажем от 1 до 3 сек.

Сергей, с ЯндексМаркетом всё сложно
(потому я ранее делал отдельную программу для яндекс маркета)

Чтобы там всё работало, нужна авторизация, а также обработка капчи (которая иногда появляется, - обычно после 1-2 запроса)
Обработку капчи настроить можно, но достаточно сложно.
Для этого есть действие «Диалоговое окно ввода Captcha» - но там с настройкой надо немало повозиться.

Хотел добавить что "Интервал между запросами" особо не помогает значения от 1 до 3 ставил.

Скажите при использовании парсера для запросов в яндексмаркет, после 20 запросов ip банится, что сделать что бы этого не происходило? Как например заставить программу вывести необходимую капчу что бы пользователь ее ввел? Это возможно? Просто если на ПК в браузере ввести капчу все работает, а парсер выдает пустые страницы:
302 Found
Если применить "Загрузить ИСХОДНЫЙ КОД веб-страницы" с параметром "direct" страница прогружается

Ирина, скорее всего, файл надстройки повреждён антивирусом при скачивании (некоторые бесплатные антивирусы «лечат» мои программы)
Попробуйте при отключенном антивирусе заново скачать файл и запустить.
Если не разберетесь, - звоните мне в скайп, решим проблему.
PS: Ошибка компиляции может выскакивать также при запуске на Mac (мои программы работают только под Windows)

Здравствуйте! Не получается запустить последнюю версию парсера для ознакомления. При открытии файла .xla выдает ошибки: "Не удается открыть файл т.к. он отсутствует на данном компьютере и затем"Ошибка компиляции в скрытом модуле mod_About". Подскажите, есть ли другой способ проверить программу в действии?

Код ответа сервера (200 - всё ок, или 404 - не найдено) можно получить соответствующим действием «Получить код ответа сервера»
Это действие добавляется ПОСЛЕ действия «Загрузить исходный код веб-страницы».

Код ответа - это часть ответа сервера, содержащего также исходный код страницы.
Так что отдельно одно от другого не получить.

PS: обычно нет такой проблемы, - надо грузить только существующие страницы
Сначала загружаем главную страницу каталога, а потом, если там много под-страниц (пейджер вида 1 2 3 4 след последняя),
применяем действие «Получить все ссылки пейджера»
На выходе получаем массив ссылок, - их и загружаем (а не наугад ставим, что там будет 5 страниц, от 1 до 5)

Скажите, а можно ли без загрузки исходного кода страницы определить существует ли такая страница? Пример, берем диапазон страниц для парсинга с 1 по 5. парсим каталог со страницами с 1 по 4. 5 страницы не существует. Ошибка 404 грузиться с сайта. Можно ли это сделать?

покупка программ автоматизирована
http://excelvba.ru/buy/addin?name=Parser
Только сначала всё настройте, - т.е. убедитесь, что все работает как надо

Добрый день! Напишите, как купить программу?

Добрый день, Игорь. Я разобрался: есть соответствующее действие "запустить парсер".

Здравствуйте, Марк.
Да, конечно можно.
Например, если подставлять из столбца 4, напишите в это поле {4}
Или если надо подставить из переменной val, напишите %val%
Если сами не разберетесь, - звоните в скайп, помогу.

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

Здравствуйте, Никита
Не совсем понял, что подразумевается под периодическим запуском.
Сейчас в программе такого нет, но в планах есть сделать что-то подобное.
Позвоните мне в скайп, обсудим (что как должно запускаться), — и, может, что-нибудь придумаем.
Ник в скайпе: ExcelVBA.ru

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

Сабрина, заголовки запросов, скорее всего, не помогут избежать бана или капчи.
Для Озона, заголовки передаются для другой цели, - без них сервер просто не выдает ответ. А бана на Озоне вроде нет.
Если выскакивает капча, - обычно нужна авторизация, и пауза между запросами.
Для некоторых сайтов (типа Яндекс.Маркета) и этого недостаточно, - как минимум один раз выскочит запрос капчи.
Т.е. всё зависит от конкретного сайта.
PS: В программе есть возможность отобразить картинку капчи, чтобы пользователь ввел текст с неё для продолжения.
(обычно в таких случаях настройка достаточно сложная, - можем настроить под заказ)

Игорь, здравствуйте. В примере настроенного парсера (книги с 3 сайтов) вы добавляете заголовки запроса для Озон, чтобы не попасть в бан. У меня аналогичная ситуация с другим сайтом - выдает капчу после нескольких запросов. Я добавила такие же заголовки запроса, как в примере, но результат тот же. Есть ли способ узнать, какие заголовки запроса ждет данный сайт, чтобы добавить именно их?

Михаил, по пейджеру страниц - универсального решения пока нет.

Сейчас я делаю так (при помощи нескольких действий)
1) запоминаем ссылку на страницу в переменную (например, в переменную URL)
2) прогружаем страницу (получить HTML код веб-страницы)
3) находим пейджер - обычно это div класса navigation
4) находим в нем все теги a, берем текст этих тегов (innerHTML)
5) находим максимальное значение в массиве чисел (действие из раздела числовых функций)
6) создаем массив чисел от 1 до найденного максимального (действие из раздела Массивы)
7) дописываем текст до и после (например, перед каждым числом добавляем %URL%?page= )

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

Здравствуйте, Игорь!
Поясните, как пользоваться функцией загрузки следующей страницы (page=+1) и проверка существования такой страницы

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

можно ли настроить сайт www.caiga.ru для выкачивания данных?

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

Добрый день! Спасибо за парсер! Увы, но у меня никак не получается пройти авторизацию (доменную) для загрузки исходного кода страницы.