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

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

 

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

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

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

Комментарии

Здравствуйте, Евгений.
Такого рода консультации, - только голосом, по скайпу
Звоните в скайп после 30 мая, - я подключусь к вашему компу, и покажу, что как сделать

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

Кроме того, попытка вывода отдельных данных по столбцам потерпела крах.

Поясните пожалуйста логику работы:
Для каждого столбца берутся данные парсинга исходных данных и с ними можно работать неоднократно или после фильтра первого столбца второму достаются только эти крохи?

Попробуйте другим браузером скачать, - всё должно получиться.
Если бы файл действительно не скачивался, - мне бы уже десятки людей написали об ошибке.

При скачивании пробной версии, отображается:
Данные не получены

ERR_EMPTY_RESPONSE

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

Здравствуйте,
Скажите, возвожно ли сделать так, что бы ексель открывал сайт https, вводил в определенное поле номер из таблицы, а после копировал определенные данные с сайта в таблицу?
Если Да, то как это делать?

Ps: Спасибо за программу, похоже что именно то, что нужно,вот только бы понять как работает.

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

Здравствуйте.
Подскажите пожалуйста, может ли парсер просмотреть каталог товаров и спарсить данные.
Я имею ввиду, что у меня нет ссылок товаров, но есть ссылка на каталог.

9 мая 2015 г. в 12:58 стало доступно обновление программы «Parser» (версия 1.1.6).

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

+ теперь парсер умеет парсить не только сайты, но и файлы из папки
(пока только текстовые файлы, такие как TXT, XML и HTML, — позже будет реализована поддержка файлов других типов, типа DOC и др.)

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

3 мая 2015 г. в 18:10 стало доступно обновление программы «Parser» (версия 1.1.5).

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

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

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

1. Да, получение списка товаров выполняется во вкладке "исходные данные"
2. Через переменную. Получили значение 74, записали его в переменную count,
а потом в параметре «максимальное значение» действия «создать массив значений для цикла»
пишем %count% (таким образом будет считано значение переменной)

Если какие вопросы еще будут, - обращайтесь в скайп, подскажу.

Спасибо за оперативный ответ!
Возникла еще пара вопросов:
1. Действия выполняем на вкладке исходные данные?
2. Как в примере (шаг 2) передать значение 74 в качестве параметра цикла?

По сайту юлмарт, - там можно выводить товары постранично
Если к ссылке на страницу товаров какой-то категории добавить &pageNum=2
то выведутся товары с 31 по 60-й.

Как бы настраивал я:
1) запоминаем ссылку на категорию товара в переменную (например, с именем URL)
2) прогружаем эту страницу с товарами, ищем там текст вида «Показано товаров 30 из 74»
<span id="max-show-count">74</span>
Т.е. после загрузки страницы, выполняем поиск элемента по ID = max-show-count,
получая значение 54
2) формируем цикл от 1 до найденного значения (74), указав делитель 30
Получаем массив из трёх чисел: 1, 2, 3
3) Действие «Добавить текст до или после», добавляем ДО значения %URL%&pageNum=
в результате, получаем массив из 3 ссылок:

http ... 1&rec=true&pageNum=1
http ... 1&rec=true&pageNum=2
http ... 1&rec=true&pageNum=3

4) действие «загрузить исходный код веб-страницы»
на выходе имеем массив из 3 загруженных страниц
Далее обрабатываем как обычно (поиск тегов a класса js-gtm-product-click — получаем 74 ссылки на товары)

Доброго дня!
Спасибо за скрипт!
Подскажите на сайте юлмарт, как можно получить полный список продукции, если там используется комбинация "показать еще 30"?

Никаких «шагов назад» тут делать не нужно.
Могу показать, как правильно настроить.
От вас для этого нужно: http://ExcelVBA.ru/help

Здравствуйте! Подскажите, как организовать действие перехода на следующую страницу каталога?
например: http://xn--l1aeaei6b.xn--p1ai/magazin/folder/14043406
Т.е. я через вкладку исходные данные я нахожу все каталоги - далее подкаталоги и т.д. пока недобирусь до подкаталогов с товаром. собираю массив ссылк на товары и с каждым элементом этого массива производим наборы действий из вкладки вывод на лист.
И вот тут у меня затупка, т.к. сайт не позволяет вывести все товары каталога на лист и мне нужно заставить парсер сделать шаг назад. прейдя на страницу №2 опять собирать массив ссылк на товары.
Накрутил, конечно! Надеюсь поймете суть вопроса! Спасибо

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

Попробовал переводить на другой язык, но получаю пустое значение не зависимо с какого на какой переводить. Пробовал так: "Задать новое значение" указываю простое слово например "sky" язык перевода "ru" результат "пустое значение". Не работает?

Здравствуйте, Максим.

Установленные браузеры к моему парсеру отношения не имеют
Парсер использует компоненты Windows для подключения к сайтам.

Есть 2 варианта работы с сайтом с авторизацией:

Способ 1 — рекомендуемый, но сложный: настроить авторизацию в моём парсере
пример описан здесь: http://excelvba.ru/programmes/Parser/manuals/Authentication

Способ 2 — простой, но глючный: авторизоваться вручную в Internet Explorer,
и, вместо действий типа «Загрузить исходный код веб-страницы»,
везде применять действие «Открыть веб-страницу в Internet Explorer»
.
Проблема тут в том, что IE, при программной работе с ним, частенько подвисает.

Добрый день!
скажите пожалуйста как быть с сайтом, где нужна авторизация? я залогинился во всех 3х бреузерах установленных у меня, но через парсер страница всё равно открывается "без залогинивания"
если что - вот ссылка http://rev-online.biz/view.php?view=1

Огромная благодарность автору за программу и отношение, превосходный функционал, если разобраться в ней она не уступает аналогам ( где тоже собственно, надо разбираться). А самое главное отношение автора, оперативно помог, доступно объяснил и сделал даже более, чем я мог предполагать!!!!

Здравствуйте, Армен
Позвоните мне в скайп, - подскажу, что исправить в настройках.

Здравствуйте, скачал Ваш парсер и был приятно удивлен функционалом! Но у меня такая вот загвоздка, делаю парсинг ссылок с одной страницы и хочу вывести в строки excel (каждая ссылка в одну сроку) но у меня массивом все пишется в одну ячейку, вроде как и по примерам посмотрел, и сам потыкал, никак не пойму... И задача как бы элементарная и функции работы с массивами есть, но никак их не могу связать. В программирование на PHP то проще, есть циклы for, foreach, а как тут аналог реализовать не разобрался... Помогите пожалуйста!

Олег, проблема решается установкой / снятием одной галочки в настройках.
Что конкретно - сказать не могу.
Позвоните в скайп, - решим проблему за несколько минут (я посмотрю, что там как настроено, - сразу увижу ошибку)

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

У меня столбец с ссылками. Парсер проходит все эти ссылки, но сохраняет все данные в первую строку. Т.е. в конце работы парсера у меня получается одна строка, в которой стоят значения последней ссылки.
Никак не могу понять какая настройка отвечает за это. Нужно, чтобы значения которые я копирую вставлялись друг за другом построчно.
Подскажите пожалуйста

Здравствуйте, Денис
«Найти все гиперссылки» — вроде нормально работает, на десятках парсеров проверено.
Гиперссылками программа считает то, что выглядит так:

<a ... href="любая_ссылка" ...> ... </a> 

Формирование имени файла по маске, - есть. Например, можно задать маску имени файла %varname1%_anytext_%varname2%.jpg
где varname1 и varname2 — названия переменных (в которые ранее были сохранены нужные значения)

Если какие вопросы, — звоните в скайп в любое время, подскажу.

Спасибо за парсер! неделю потратил на поиск чего-то подобного, испробовал кучу сложных и тяжелых парсеров, но с вашим разобрался очень быстро.
Еще раз огромное спасибо!

З.Ы. или я кривой, или парсинг ссылок "Найти все гиперссылки" у меня не пашут, пришлось вручную вырезать )
З.З.Ы. было бы здорово немного расширить работу с файлами, а именно генерация имени по заданной маске.

Добрый день. Где можно взять инструкцию по настройке парсера для обработки сайта типа Гулливер (из ваших примеров)?

Здравствуйте. Андрей.
Скайп мой указан на странице «КОНТАКТЫ»: ExcelVBA.ru
Лучше высылайте описание с примером результата в файле Excel на почту order@excelvba.ru

Доброго времени суток,
Хотел обратиться к вам с просьбой о настройке парсера, за вознаграждение соответственно! Укажите ваш скайп, и при дальнейшем общении более детально все обсудим.

С Уважением,
Андрей