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

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

 

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

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

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

Комментарии

А какой текст макроса должен быть и как добавить?

Здравствуйте! На данный момент средствами парсера можно принудительно сделать только текстовый формат (путем добавления апострофа - ' - перед выводимым текстом). Все другие форматы можно установить при помощи макроса. Макрос можно добавить к настройке парсера и вызывать из неё же.

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

Благодарю!

Здравствуйте, Николай.
Сравнение картинок возможно. Загружаете картинку как обычную веб страницу, потом сравниваете полученное содержимое (как текст) с другой загруженной картинкой. Можно сравнивать не содержимое файлов (если оно будет работать некорректно), а MD5 хэш от содержимого картинки.

По таблицам замен, - такой функционал не планируется, поскольку не востребован другими пользователями. Но могу реализовать под заказ (платно)

И ещё один вопрос. Можно ли с помощью парсера коим образом узнать отличается ли картинка данного торгового предложения (ТП) от эталонной (нодовской) картинки? Раскрою вопрос, есть товар (нода), у него куча ТП, в которых при изменении параметра изменяется внешнее отображение товара. Но на сайте, который я запарсил, товарищи программисты на это наплевали, либо зашиваются и банально не хватает времени, дублируют картинку ноды в ТП, естественно названия картинок ТП тоже изменяются, по названию их никак не вычислить. И чтобы у себя на сайте не создавать клонов, можно как-нибудь их вычленять парсером?

Добрый день. На будущее, как пожелание, не могли бы вы в парсере реализовать действие - Добавить данные в таблицу замен (ТЗ). Парсер запарсил сайт, вывел данные в столбцы, заходим в это действие, выбираем ТЗ, если она создана, если нет, парсер создает новую ТЗ. Выбираем столбец с данными, допустим переменной {1} (полученных в результате парсинга сайта), в котором будут содержаться данные "Что заменять". Выбираем столбец с данными, в котором будут содержаться данные "На что заменять". По окончании парсинга эти данные импортируются в ТЗ. Допустим, через неделю мы снова запустили парсер, парсер проверяет появились ли новые значения данных и если ответ положительный, продлевает список замен в ТЗ. Надеюсь, вы не посчитает это действие бесполезным...

Добрый день, Николай!

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

Добрый день не подскажите почему так. Ситуация три столба А1 Б1 С1. А1=URL Б1=Keywords С1=Заголовок H1. Все данные выводятся корректно иногда происходит сбой не выводит данные Б1 или С1.

Добрый день!

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

Для обращения к другим столбцам используете маску вида {1!}, где 1 - это номер столбца.

Если не разберетесь, напишите мне в скайп - antonmashkin

Здравствуйте.
Искал инструкцию по получению исходных данных для парсинга с листа Excel, не нашел.
Можно ли увидеть пример или инструкцию?

Заранее спасибо

Здравствуйте.
Можно узнать как Вы реализовали многопоточную загрузку?
Пишу себе парсер - 40К страниц грузит нереально долго)

Да, есть такая возможность. Обычно либо рядом есть ссылка на большое изображение, либо большое изображение получается путем замены размеров в ссылке на изображение.

А есть ли возможность загрузки нескольких изображений товара, если одно из них большое, а остальние маленьикие, то есть открываются только после нажатия на них?

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

Есть ли в программе возможность скомпилировать парсер в отдельную надстройку (программу) или как-то защитить парсер паролем от исправлений?

Чуть позже будет инструкция по плагинам

Добрый вечер! По плагинам когда ждать информацию.

Здравствуйте, Виталий.
Это Google Recaptcha v.2, программа умеет такую обрабатывать (действие «Решить Google Captcha v.2»)
Но инструкция по этому действию пока не готова.
Можем настроить под заказ.

Здравствуйте.
Подскажите, как работать с капчей? Такого вида капчу стандартным инструментом вашей надстройки обойти можно? https://prom.ua/captcha?url=aHROcDovLZhth-IBSaZIkcySuZXQu%20dWEchMyOTc3O...

Сергей, парсером можно скачать фото в папку, или вывести ссылки на загрузку фото в столбец таблицы Excel
(подготовив исходные данные для следующего шага)
А потом нужно запустить надстройку для вставки картинок в Excel (причем собственно вставку изображений на лист включать необязательно), — эта надстройка сможет вывести в дополнительный столбец размеры фотографий (взяв их из папки, либо скачав по ссылкам)

Возможно ли как парсером получить характеристики фото? Т.е. есть сайт www.host.com/img/foto.jpg к примеру разрешение этого фото 320х240. Как парсером получить разрешение 320х240? Если это возможно, каким будет алгоритм?

Добрый вечер, подскажите, куда нужно вставлять действие - "Запланировать запуск парсера"? Можно закрыть парсер или он всегда должен быть открыт? Можно по подробнее расписать про это действие или пример с этим действием, если он (пример) существует на сайте, я поискал, не нашёл...

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

2 действия:

1) Действие HTML - ЗАМЕНА ТЕГОВ
ищем (первый параметр) span class=kopeiki
и добавляем ДО НЕГО запятую (опция AddBeforeInnerHTML)

2) действие ВЗЯТЬ ЦЕНУ ТОВАРА СО СТРАНИЦЫ

Если вы не разобрались, и не смогли настроить, - могу я настроить, под заказ
(об этом я вам тоже писал)


возможно ли парсировать из несколько excel файлов — я не знаю, что вы под этим подразумеваете
Скорее всего, возможно

Здравствуйте возможно ли парсировать из несколько excel файлов, или есть пример на сайте похож.

Добрый день.
Как с помощью VBA сделать из двух тегов один для парсера цены товара с сайта?
Пример тега цены:

8
73
грн
Если использовать стандартное действие HTML Взять цену товара v.2 , то программа выдает тег 8 , а 73 нет.
Как их объединить? Очень нужна помощь.

Спасибо большое Николаю и Антону.

Очень элегантное решение проблемы. Ещё раз спасибо!

Вставлю свои 3 копейки. Допустим у нас есть список товаров, а именно: Comfort Prim Middle,Kids Comfort,Comfort Duos Middle/Hard,Comfort Prim Soft,Comfort Duos Soft/Middle,Comfort Prim Hard,Optima Comfort EVS1000,Round Optima Comfort EVS1000,Orto Premium Soft,Orto Premium Hard,Orto Premium Middle,Verda Hi-Soft memory,Verda Hi-Support,Verda Cloud,Verda Hi-Balance,Verda Balance,Verda Hi-Cloud,Verda Soft memory,Verda Support,Ocean Soft,Ocean Soft Transform,Optima Comfort EVS1000,Optima Concept EVS1000,Tatami Fuji,Tatami Fuji Max,Flex Zone. В действии - "Проверка на выполнения условия" в параметре "Режим проверки" выбираем RegExp (регулярные выражение, аналог "содержит", только намного "гибче"), в параметре "Значения для сравнения" пишем Verda|Comfort|Orto (расшифровка записи, если проверяемое выражение содержит Verda или Comfort или Orto, тогда... и в 3 параметре настроек "Действия при выполнении условия" выбираете, что с ними нужно сделать). Допустим мы выбрали при выполнении условия оставить, тогда на выходе мы получим только эти наименования товаров: Comfort Prim Middle,Kids Comfort,Comfort Duos Middle/Hard,Comfort Prim Soft,Comfort Duos Soft/Middle,Comfort Prim Hard,Optima Comfort EVS1000,Round Optima Comfort EVS1000,Orto Premium Soft,Orto Premium Hard,Orto Premium Middle,Verda Hi-Soft memory,Verda Hi-Support,Verda Cloud,Verda Hi-Balance,Verda Balance,Verda Hi-Cloud,Verda Soft memory,Verda Support, остальные товары парсер проигнорирует, т.к. они не удовлетворяют условию поставленной задачи. Надеюсь я подробно всё объяснил и верно уловил, что именно Вам нужно от парсера. Если я где-то допустил ошибку, надеюсь товарищи администраторы меня поправят...

Звездочка - * - это обозначение любого символа.

Поэтому когда Вы пишете *зал*, например, то сюда попадут все слова с таким сочетанием букв: вокзал, заливка, назальный и т.д.

Так что это именно тот вариант, что Вам нужен - содержит комбинации символов.

Дело в том, что мне нужна проверка не на точное соответствие условиям, а с формулировкой "содержит". Т.е., условно, из 1000 значений мне нужно оставить 300, которые не одинаковые, но каждые 100 из них содержат одинаковые комбинации символов. Т.е. мне нужно оставить значения с каждой из трёх комбинаций символов. Если такой возможности нет, то получается, что мне нужно отдельно прописывать каждые 300 точных значений. Учитывая, что в будущем будут добавляться новые значения, отличные от старых, но имеющие соответствующие комбинации символов, такой подход очень не удобен.