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

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

 

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

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

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

Комментарии

Тимур, напишите мне в скайп, — я подскажу, что как работает
Ник в скайпе: ExcelVBA.ru

Пять месяцев назад было обновление: "3.10 + реализована поддержка плагинов (файлов .xla с дополнительными действиями для обработки данных)". Хорошо, что программа развивается и обрастает новым функционалом. Плохо, что по многим функциям нет описания. По данному обновлению
вообще тишина, хотя уже несколько раз просили привести пример работы.

Да, работают регулярные выражения. В том числе и написанные вами.
Скорее всего, вы как-то неправильно их применяли.

Действие Параметр Значение
Проверка на выполнение условия Режим проверки REGEXP
Значение для сравнения ^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$
Действие при выполнении условия Задать новое значение
Параметр действия ок
Проверять другое значение нет
Другое проверяемое значение
Исходное значение Результат
89122654184
ок

Здравствуйте. В программе работают регулярные выражения? Перепробовал несколько вариантов для валидации номера телефона например /^(\s*)?(\+)?([- _():=+]?\d[- _():=+]?){10,14}(\s*)?$/ потом ^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$ в результате обработки пусто, регулярки правильные, номера в кодах страниц соответствуют выражениям

Да, можем проконсультировать (при условии приобретения программы)
Напишите мне в скайп. Ник в скайпе: ExcelVBA.ru

Уважаемая администрация, добрый день!
Не могу разобраться как взаимодействовать с выпадающим списком на web странице. Скажите, пожалуйста, вы оказываете персональные консультации (готов оплатить, если не сильно много :))?

по ссылкам, - напишите в скайп, попробую помочь

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

А можно не настроить, а получить информацию как обходить подобную защиту.
Данные я уже вывел с сайта в полу ручном режиме. Заняло много времени.
Какая цена такой информации? (Можно просто готовый парсер) и на какой элемент обратить внимание.

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

Сохраняйте не в html, а в txt, далее действие "обработка файлов из папки" > "загрузить содержимое текстового файла".

Николай, эту защиту можно обойти
Могу настроить под заказ (платно)

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

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

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

Николай, а что мешает с сайта данные брать?
Зачем сохранять страницы в файлы??
У меня есть готовые парсеры для этого сайта.

Добрый день
Сохранил страницу сайта http://www.vamsvet.ru/catalog/man/arte-lamp/section#p2 на ПК на рабочем столе file:///C:/Users/NICK/Desktop/page2.html.
Подскажите как начать работать с локальным файлом?
Загрузить ИСХОДНЫЙ КОД веб-страницы - file:///C:/Users/NICK/Desktop/page2.html -
ОШИБКА: Неверная ссылка для загрузки веб-страницы

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

Руслан, напишите мне в Скайп, попробую помочь

В том и проблема, что галочки везде убраны (и в настройках при массовом выделении и в самом сайте), кеш прочищен, все чисто. Если выделяю например 10 ссылок, то тянет старую цену, а вот если выделяю по одной ячейке (!) то тянет настоящую.

Руслан, в настройках парсера, на вкладке ДОПОЛНИТЕЛЬНО, снимите галочку ИСПОЛЬЗОВАТЬ КЕШИРОВАНИЕ

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

Максим, для этого можно использовать Интернет Эксплорер, там можно и скрипты выполнять, и щелкать на кнопку "следующая страница" и считать текущий код страницы (действие "Подключиться к ИЕ").

Некоторые сайты настолько сложны в настройке или авторизации при использовании запросов, что проще их настраивать именно через ИЕ.

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

Здравствуйте. Есть список прокси серверов, можно ли их сохранять в переменную, и подставлять эту переменную во вкладке прокси сервер? и еще вопрос, возможно ли использовать прокси которые имеют логин и пароль?

Спасибо за ответ по-поводу переменной, Игорь. А еще возникла у нас проблема с выполнением парсером JavaScript ссылок. Есть в тегах сайта классы с ссылками типа "href=javascript:...." Пейджер сайта построен на таких ссылках. Тоесть сама страница сайта при переключении ссылок пейджера javascript не меняется, а меняется только контент расположеный в определённом окне, который собственно и нужен. Что только я не пробовал (post-запросы, winhttp-формы с post-значениями, с разными вариациями этих значений) - никаких результатов. Примечательно также еще 2 вещи: При выборе действия "Загрузить исходный код страницы" - парсер выдаёт ошибку или перекидывает на страницу авторизации, и 2е - если в браузере загрузить нужный сайт и если в строке браузера, там где вводится URL вводить javascript ссылки без адреса страницы и т д и т п, только ссылки в формате:

javascript:__doPostBack('ctl00$ArticleList$PagerOben$lbtnNext','')

то страницы переключаются, если это действие повторить в аналоге функционала парсера (Загрузить исходный код веб-страницы - ввести эту ссылку в поле "URL сайта") - то выдаёт ошибку.

Таких сайтов сейчас всё больше и больше. И поэтому считаю назрела необходимость ввести в парсер два новых действия: "выполнить javascript ссылку" или "javascript действие" и добавить "считать текущий код страницы", так как при переключении между станицами javascript-пейджером исходник самой страницы не меняется, так как подгрузка информации javascript-апплетом не перезагружает саму страницу. Именно поэтому "Загрузить исходный код страницы" не работает.

Светлана, Вам ответили на почту по поводу сайта t-m-f.ru. Проверьте папку Спам, если не пришло.

Максим, чтобы задать нужный элемент массива, надо сначала сохранить посчитанное число в промежуточную переменную, а потом брать элемент массива, начиная с %РезультатВычисленияПеременной% в количестве 1.

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

А вообще можно использовать макросы для нужных вычислений. Иногда это удобнее.

Игорь, помогите пожалуйста решить вопрос с математическими выражениями в строке. Как задать нужный элемент массива если нужен элемент который равен переменной умноженной на 2 и с прибавленой единицей. Такое математическое выражение невозможно создать непосредственно в строке объявления начала номеров перечня нужных массивов. Там принимается только целое число . Я даже пробовал для теста вводить, допустим, вместо двойки 1+1 или как в сроке формул Эксель =1+1. Ничего не получилось.

Ещё непонятно как взаимодействуют между собой два разных парсера если я передаю с одного парсера на обработку значение в другой парсер то как мне передать после обработки второго парсера значение результата обратно в первый? Как в первом мне обозначить в каком именно месте мне нужно его принять для дальнейшей обработки?

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

Здравствуйте!
Использую вашу программу, спарсить с сайта https://t-m-f.ru/where_buy_city/ клиентскую базу в формате:
1. Страна
2. Регион
3. Город

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