Парсер сайтов и файлов (парсинг данных с сайта в 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)

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

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

 

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

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

 

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

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

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

Комментарии

Каким образом можно спарсить информацию с сайта:

http://www.gdeetotdom.ru/realtors/search/?rid=1232535&dstr=408887&rubr=1

Нужно спарсить номер телефона, который в коде имеет нижеприведенный вид (не проявляется). При нажатии на сайте на ссылку "позвонить" появляется номер телефона.

alex.club, извиняюсь за допущенную ошибку.
Залил исправленную версию

После обновления глюки нереальные. В графе: Сохранить текущее значение в переменную пропали все имена, заменились на одно, при попытке исправить меняются автоматом все имена в пассере на такоеже. При выводе соответственно тоже одно имя.

24 января 2015 г. в 07:05 стало доступно обновление программы «Parser» (версия 1.1.1).

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

+ добавлены новые действия
+ значительно ускорен процесс загрузки / сохранения настроек парсера
- исправлена ошибка в функции конвертации JSON в XML
+ стало возможным выводить в ячейки гиперсылки на локальные файлы
+ добавлено информационное окно для вывода сведений об ошибках загрузки, редиректах, и устанавливаемых Cookie

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

1) Моя программа может сохранить загруженные данные и в CSV формате
2) Мой скрипт, он для Excel (это надстройка для Excel), но никак не для сайта
И запускается всё, соответственно, нажатием кнопки в Excel
А файл CSV вы уже потом можете вручную импортировать на сайт

1) А в csv-формате сможет?
2) Ваш скрипт он же у нас будет храниться на сервере (чтоб мы его потом могли запускать)?

Здравствуйте, Алексей.
Моя программа не копирует с сайта на сайт.
Она выгружает данные в Excel (данные - в таблицу Excel, картинки - в заданную папку)
Опции загрузки скачанного на сайт, в программе нет.

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

Добрый день!
Сможем скопировать каталог товаров с сайта http://www.chisto.ru/
Копировать нужно будет на сайт сделанный на битриксе

Нужно чтобы каталог обновлялся постоянно.
Интересуют сроки и цена (если такое возможно)

Юлия, версии надстройки под Мак нет и не будет (слишком много переделывать)
Мои программы работают только в Excel под Windows.
Счастливые обладатели Mac пользуются моими надстройками под Parallels


alex.club, приостановку при отсутствии инета я может и сделаю в следующих версиях,
но это не решит проблему полностью, если инет пропадает и появляется.
Вот как проверить наличие инета? Пингом до какого-то вечно работающего сайта типа google?
Ну, допустим, пинг прошёл (инет есть), начинаем грузить страницу, - и тут инет снова отвалился...
Как моя программа поймёт, - это страница конкретная недоступна, или с инетом проблема?
Я понимаю вашу просьбу, - подобный функционал действительно нужен.
Просто пока плохо представляю себе, как это реализовать.
А вообще, использование программы-парсера подразумевает наличие нормального стабильного интернета...

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

Можно ли алаптировать надстройку под excel для mac?

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

Обратил внимание, что при обрыве интернета или занятости канала пассер не приостанавливает работу а начинает сканировать с сумасшедшей скоростью с нулевым результатом. Возможно ли реализовать контроль на наличие подключения к интернет? Например через пинг корня сайта? В случае недоступности останавливать сканирование.

Дмитрий, техподдержка осуществляется только в голосовом режиме: http://ExcelVBA.ru/help
Позвоните, — я покажу, как лучше сделать.

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

Большое человеческое спасибо!
съэкономил мне невероятное количество человеко-часов!

aspx - а почему не должна поддерживать?
что такое веб-страница? это HTML-код (обычный текст с тегами) в одной из нескольких кодировок (обычно utf-8).
А .aspx или .html там написано в конце URL — разницы абсолютно никакой нет.

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

aspx страницы поддерживает? (например сайт майкрософт). Все мои попытки почитать исходный код привели к ошибке результата.
Кроме того, хотелось бы узнать, реализовано ли в вашей надстройке программное нажатие кнопок и программное заполнение элементов страницы ( например, комбобокз, едитбокз и т.д.)?

действие ЗАДАТЬ НОВОЕ ЗНАЧЕНИЕ
2 варианта на выбор:
1) значение {1} {12} {10}
2)значение =RC1&" "&RC12&" "&RC10
второй вариант выведет в ячейку формулу

PS: не надо писать вопросы и на сайте, и в личку
выберите один способ общения, - чтобы мне не приходилось дублировать ответы

Из HTML удалось взять нужную информацию, а вот на обработке таблицы Excel застрял на такой ерунде... Как реализовать в парсере задачу, которую решает следующая функция?
M2=СЦЕПИТЬ(A2;",";L2;",";K2)

Валерий, ответил вам на почту

Парни, кто разобрался в этом парсере ?
Нужно сделать настройки для парсинга только цен с разных сайтов, готов оплатить услугу, всего надо 20 сайтов сейчас и периодически еще
Писать сюда 89261552323asd @ mail.ru

Здравствуйте, Ариан
Видеоинструкция пока еще не готова, — будет примерно через месяц.

Как запустить надстройку, — скачать файл на рабочий стол, и дважды щелкнуть по нему
На ленте Excel, на вкладке НАДСТРОЙКИ, появится панель инструментов.

Потом можете опробовать в работе примеры парсеров

В том числе, парсер обновления цен с 16 сайтов

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

Высылайте на почту order@excelvba.ru

Здравствуйте, куда скинуть описание и пример в виде таблицы ?

Я же писал, — надо запустить 2 копии Excel (они будут работать независимо друг от друга)
Поставили мою программу в автозапуск (галочка в окне "О программе" - "действия с надстройкой"),
запустили Excel, выбрали парсер из выпадающего списка.

Потом, через меню Пуск, запускаем ЕЩЕ ОДИН Excel, - в нём тоже автоматически запустится моя программа.
И теперь запускаем парсер и там и там (один и тот же, или разный, - неважно), - они должны работать независимо друг от друга.

Надо запускать пассеры из разных папок? Похоже у меня приостанавливается т.к. запускаю один и тот же с разными настройками сайтов.

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

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

У меня при запуске второго первый приостанавливается.

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

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