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

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

 

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

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

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

Комментарии

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

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

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

Добрый день
Сохранил страницу сайта 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 действия

Добрый день

Есть код

Print
стандартная комплектация

Нужно его преобразовать таким образом, чтобы вместо span class="case" был тег td. Для этих целей использовал действие - HTML: Замена / изменение тегов, прописал шаблон вида - [=text], но вот незадача, теги внутри данного тега удалились, есть ли возможность в данном действии вывести не текс тега, а его HTML код? Либо подскажите, пожалуйста, коим другим действием можно решить данную задачу, желательно шибко "не размазывая", так сказать просто и со вкусом...

Да, возможно, если не одновременно

Добрый день!

Вопрос: возможно ли записывать результаты нескольких парсеров в один файл эксель?

т.е. парсинг с нескольких сайтов пишется в один эксель лист?

По количеству циклов наборов действий - никаких ограничений я не вводил
Если работает что-то не так, - наверняка, есть ошибка в настройке
Не видя, что и как вы там настраивали, подробнее ответить не могу


Касательно многократного запуска по расписанию, и утечки памяти при этом, - я в курсе проблемы, работаю над её решением.
В следующих версиях проблема будет устранена.

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

При том, что если проверять результаты в ручную, нажимая "Тестировать", то циклы повторяются больше 19 раз.

Игорь, добрый день! Скажите почему программа в цикле выполняет только 19 циклов наборов действий и останавливается без причин для этого?

Здравствуйте, Андрей.
Нет, не будет. Работает только в эксель под windows

Здравствуйте, а будет ли работать на OpenOffice или Liberti Office?

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

Игорь, добрый день! Спасибо за программу! Столкнулся с вопросом по работе с вашей программой, на сайте нужно собрать все нужные мне ссылки и сохранить их в Excel, только вопрос в том, что на каждой странице показывается только по 2 ссылки, у этих ссылок нельзя подобрать адрес, они все разные, например в исходной странице, с которой начинает работать парсер есть ссылка 1 и 2, чтобы увидеть ссылку 3 и 4, нужно перейти на ссылку 2, чтобы увидеть ссылку 6, нужно перейти на ссылку 4 и т.д., всего ссылок 3000 примерно, причем каждую ссылку нужно вывести в таблицу Excel. Подскажите умеет ли программа замыкать в цикл работу до того пока не кончатся ссылки и одновременно сохранять каждую ссылку в Excel? Какой алгоритм действий и какими инструментами пользоваться? Это конечно не критично, но интересно как такое реализовывается в вашей программе.

или форма обратной связи на то и нужна, чтобы никак нельзя было достать email

именно так всё и есть
не достанете вы никак оттуда email

Здравствуйте, возможно ли получить email пользователя на сайте, с которым я могу связатья путем формы обратной связи? В html я ничего не нашел, запросы просмотрел, которые отправляются при отправке сообщения. Может можно какие-то запросы отправлять чтобы увидеть mail? или форма обратной связи на то и нужна, чтобы никак нельзя было достать mail (причем Mail не сайта нужен, а конкретного зарегистрированного пользователя. Вот ссылка на форму обратной связи с конкретным пользователем.
https://www.world-architects.com/en/schneider-architekten-st-georgen/con...

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

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