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

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

 

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

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

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

Комментарии

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

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

Здравствуйте, Екатерина
Заказы на парсер принимаются в таком виде
http://excelvba.ru/programmes/Parser/order
Только в этом случае мы можем озвучить точную стоимость.
Сама программа стоит 2500 руб, + настройка под сайт LinkedIn обойдется примерно в ту же сумму.
Итого, около 5 т.р. за готовое решение.

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

Я удаляю только анонимные комментарии (где не указан email, на который ответить), и когда в комментарии претензии необоснованные.
Вы не имя, ни email свой, ни указали, - что я вам должен ответить?
А работа у меня налажена, а на парсеры никто из покупателей не жалуется. кроме анонимов)

Настройте работу, комментарии всегда проще удалить, чем удалить не понравившийся комментарий
Удачи!
Парсеры ни о чем, с клиентами не работают

Екатерина, OneNote и Word, конечно, отличные способы хранения базы данных (как и MS Paint), — но моя программа выводит данные только в таблицу Excel (а оттуда результат можно скопировать куда угодно)
По соцсетям и хедхантеру, — там наверняка есть ограничения по количеству просмотра профилей / резюме.
Так что собрать данные можно, - но только в пределах, которые позволяет это сделать конкретный сайт.

добрый день, а можно ли ваш парсер сайтов использовать скажем для сбора резюме с сайта хэдхантер или профилей из социальных сетей в базу в one note? ну или в word хотя бы :))
спасибо.

По авито - не в курсе, не настраивал (у моего коллеги есть решение под авито, - отдельная программа)
Если готовы купить готовое решение для парсинга Авито, - пишите на почту или в скайп.

А как быть с подтягиванием данных с сайта авито? Интересует именно телефон. Другие поля подтянуть можно. А вот как быть с телефоном?

Владимир, для загрузки картинок по ссылкам,
у меня есть другая программа, - намного проще, чем парсер,
- и она корректно обрабатывает такие ссылки (только что проверил):
http://excelvba.ru/programmes/PastePictures

Пытался настроить парсер на скачивание картинок по ссылкам
=ГИПЕРССЫЛКА("http://www.gardenbulbs.ru/images/Bushes_CL/thumbnails/"&Q10&".jpg";"фото1")
в ячейке Q10 Abeliophyllum distichum 1
не работает

Упрощенный вариант макросов на скачивание по ссылкам тоже не работает

начинает работать если указать адрес страницы без Гиперссылки

Сабрина, по приведенной вами ссылке всего 2 отзыва, и они видны без прокрутки.
Потому, ничего подсказать не могу
Напишите мне в скайп ссылку, где надо прокручивать страницу, - что-нибудь придумаем

Спасибо за быстрый ответ. Конечно, решила пойти по пути наименьшего сопротивления и сделать через 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. Мне кажется что ему не нравится подчеркивание, если да - можно ли как то обойти это ограничение? (по ссылке браузер качает файл без проблем).
Спасибо за очень хорошую программу!