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

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

 

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

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

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

Комментарии

Спасибо за оперативный ответ!
Возникла еще пара вопросов:
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

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

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

Статью исправил (спасибо, что сообщили об ошибке на сайте)

Но я говорил про другую статью (где описывается настройка программы-парсера, а не отдельный макрос)
http://excelvba.ru/programmes/Parser/manuals/Authentication

PS: программа сможет работать с десятком сайтов с авторизацией
Просто настройка в некоторых случаях может оказаться очень сложной (на всех сайтах авторизация по-разному выполняется, - например, 7 сайтов может легко получиться настроить, а с 1-2 сайтами возникнут сложности)

Когда требуется авторизация - настройка обычно сложнее (если что - проблемные сайты можем настроить под заказ)

Я так понял что речь идет про статью Авторизация на Яндексе с использованием WinHttpRequest? Если да то там нет содержимого, она пустая. Не могли бы вы подсказать где именно на сайте найти нужный материал? Дело в том что нужен парсер и который нужно заточить под десяток сайтов с авторизацией и пока не пойму сможет ли программа нормально с ними работать и как настроить, купить ее я вряд ли смогу. Спасибо.

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

Добрый вечер. Скажите, у парсера есть возможно собирать инфу с сайтов требующих авторизацию? Может быть плохо искал - но информации об этом или мануала на эту тему не нашел. Спасибо

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

PS: 200 строк для переполнения памяти - слишком мало
Возможно, вы перемудрили с настройкой, или какая-то проблема с конкретным сайтом. В любом случае, после 11 марта решим проблему.

Проблема с использованием памяти excel при работе парсера.

В колонке А указаны URL страниц с которых парсится информация.
Настроил парсер. Данные загружаются в соответствующие колонки, но есть проблема с использованием памяти.
С каждой следующей обработанной строкой объем памяти, которую использует excel увеличивается. В результате после обработки примерно 200 строк память переполняется, система начинает тормозить и в итоге excel завершается с ошибкой.
Т.к. я запускал парсер сначала на Mac под Parallels, потом пробовал на другом компьютере (PC). Пробовал под разными версиями MS Office (2007, 2010, 2013), то же самое.

Помогите разобраться, а то купил парсер и по сути не могу им нормально воспользоваться.
P.S. В файле всего около 10 000 URL (строк).

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

Добрый день! Решил воспользоваться вашей программой Parser, но возникли проблемы с поиском данных по тегам, собственно "Поиск по имени класса, поиск по id, по заданному тегу". На выходе в любом из вариантов выдает пустое значение. Это может быть из-за того, что код скрипта написанный вами частично или совсем не подходит для поиска данных с постороних сайтов.
Делал все по вашей инструкции, но ничего так и не удалось найти, находит только верстку всего сайта, отдельные данные по заданным именам не находит.
1. Можете объяснить в чем проблема?
2. Если не указаны на заданом сайте id и другие параметры, к примеру тегов, поиск так же не производится. Мне кажется, что у вас в скрипте заданы не верные параметры поиска к примеру "ClassName" - этот параметр указывается у вас в скрипте, на сайтах этот параметр указывается как "class". Может быть в этом проблема?
3. Пробовал искать по span параметру, но в данном параметре я не могу указать искомое имя по span. Могу только имя по классу задавать. Зачем тогда указывать в параметрах поиска данный параметр?

Cпасибо, попробую на основе Вашего примера "автомобили с пробегом" пересобрать парсер с нуля...
Скайпа дома нет, да и тимвьювер не тянет, инет только по USB модему - 3G с реальной скоростью EDGE (
...Хорошая надстройка, вот только побольше бы описания функций в справке.

Здравствуйте, Александр
Вы, видимо, где-то лишнюю галочку в настройках поставили, - из-за этого выводится ниже
По-умолчанию, данные выводятся при каждом запуске в те же самые ячейки.
И действие «Очистить лист от данных» в вашем случае не нужно (оно крайне редко используется, для сложных парсеров)
Позвоните мне в скайп, - я подключусь к вашему компу, и помогу с настройкой (там всё просто)

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

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

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