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

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

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

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

Парсить сайты в Excel достаточно просто если использовать облачную версию софта Google Таблицы (Sheets/Doc), которые без труда позволяют использовать мощности поисковика для отправки запросов на нужные сайты.

  • Подготовка;
  • IMPORTXML;
  • IMPORTHTML;
  • Обратная конвертация.

Видеоинструкция

Подготовка к парсингу сайтов в Excel (Google Таблице)

Для того, чтобы начать парсить сайты потребуется в первую очередь перейти в Google Sheets, что можно сделать открыв страницу:

https://www.google.com/intl/ru_ru/sheets/about/

Главная страница Google таблицы

Потребуется войти в Google Аккаунт, после чего нажать на «Создать» (+).

Создание нового документа в Google Таблицах

Теперь можно переходить к парсингу, который можно выполнить через 2 основные функции:

  • IMPORTXML. Позволяет получить практически любые данные с сайта, включая цены, наименования, картинки и многое другое;
  • IMPORTHTML. Позволяет получить данные из таблиц и списков.

Однако, все эти методы работают на основе ссылок на страницы, если таблицы с URL-адресами нет, то можно ускорить этот сбор через карту сайта (Sitemap). Для этого добавляем к домену сайта конструкцию «/robots.txt». Например, «seopulses.ru/robots.txt».

Здесь открываем URL с картой сайта:

robots.txt сайта для парсинга в Excel

Нас интересует список постов, поэтому открываем первую ссылку.

Карта сайта для парсинга в Excel

Получаем полный список из URL-адресов, который можно сохранить, кликнув правой кнопкой мыши и нажав на «Сохранить как» (в Google Chrome).

Скачивание карты сайта для парсинга в Эксель

Теперь на компьютере сохранен файл XML, который можно открыть через текстовые редакторы, например, Sublime Text или NotePad++.

Карта сайта в текстовом рекдакторе NotePad++

Чтобы обработать информацию корректно следует ознакомиться с инструкцией открытия XML-файлов в Excel (или создания), после чего данные будут поданы в формате таблицы.

Список URL чтобы можно было спарсить в Excel

Все готово, можно переходить к методам парсинга.

IPMORTXML для парсинга сайтов в Excel

Синтаксис IMPORTXML в Google Таблице

Для того, чтобы использовать данную функцию потребуется в таблице написать формулу:

=IMPORTXML(Ссылка;Запрос)

Пример использования IMPORTXML в Google Таблице

Где:

  • Ссылка — URL-адрес страницы;
  • Запрос – в формате XPath.

С примером можно ознакомиться в:

https://docs.google.com/spreadsheets/d/1xmzdcBPap6lA5Gtwm1hjQfDHf3kCQdbxY3HM11IqDqY/edit#gid=0

Примеры использования IMPORTXML в Google Doc

Парсинг названий

Для работы с парсингом через данную функцию потребуется знание XPATH и составление пути в этом формате. Сделать это можно открыв консоль разработчика. Для примера будет использоваться сайт крупного интернет-магазина и в первую очередь необходимо в Google Chrome открыть окно разработчика кликнув правой кнопкой мыли и в выпавшем меню выбрать «Посмотреть код» (сочетание клавиш CTRL+Shift+I).

Просмотр кода страницы в Google Chrome

После этого пытаемся получить название товара, которое содержится в H1, единственным на странице, поэтому запрос должен быть:

//h1

И как следствие формула:

=IMPORTXML(A2;»//h1″)

Пример использования IMPORTXML для парсинга H1 в Google Таблице

Важно! Запрос XPath пишется в кавычках «запрос».

Парсинг различных элементов

Если мы хотим получить баллы, то нам потребуется обратиться к элементу div с классом product-standart-bonus поэтому получаем:

//div[@class=’product-standart-bonus’]

Пример рассмотрения структуры XPath при рассмотрении кода сайта

В этом случае первый тег div обозначает то, откуда берутся данные, когда в скобках [] уточняется его уникальность.

Для уточнения потребуется указать тип в виде @class, который может быть и @id, а после пишется = и в одинарных кавычках ‘значение’ пишется запрос.

Однако, нужное нам значение находиться глубже в теге span, поэтому добавляем /span и вводим:

//div[@class=’product-standart-bonus’]/span

В документе:

IMPORTXML в Google Doc с запросом XPath

Парсинг цен без знаний XPath

Если нет знаний XPath и необходимо быстро получить информацию, то требуется выбрав нужный элемент в консоли разработчика кликнуть правой клавишей мыши и в меню выбрать «Copy»-«XPath». Например, при поиске запроса цены получаем:

Копирование XPath для дальнейшего парсинга

//*[@id=»showcase»]/div/div[3]/div[2]/div[2]/div[1]/div[2]/div/div[1]

Важно! Следует изменить » на одинарные кавычки ‘.

Далее используем ее вместе с IMPORTXML.

Использование IMPORTXML в Google Sheets

Все готово цены получены.

Простые формулы с IMPORTXML в Google Sheets

Чтобы получить title страницы необходимо использовать запрос:

=IMPORTXML(A3;»//title»)

IMPORTXML для парсинга title страницы в Google Sheets

Для вывода description стоит использовать:

=IMPORTXML(A3;»//description»)

IMPORTXML для парсинга description страницы в Google Таблице

Первый заголовок (или любой другой):

=IMPORTXML(A3;»//h1″)

IMPORTXML для парсинга H1 страницы в Google Doc

IMPORTHTML для создания парсера веи-ресурсов в Эксель

Синтаксис IMPORTXML в Google Таблице

Для того, чтобы использовать данную функцию потребуется в таблице написать формулу:

=IMPORTXML(Ссылка;Запрос;Индекс)

Использование IMPORTHTML с list в Google Sheets

Где:

  • Ссылка — URL-адрес страницы;
  • Запрос – может быть в формате «table» или «list», выгружающий таблицу и список, соответственно.
  • Индекс – порядковый номер элемента.

С примерами можно ознакомиться в файле:

https://docs.google.com/spreadsheets/d/1GpcGZd7CW4ugGECFHVMqzTXrbxHhdmP-VvIYtavSp4s/edit#gid=0

Пример использования IMPORTHTML в Google Doc

Парсинг таблиц

В примерах будет использоваться данная статья, перейдя на которую можно открыть консоль разработчика (в Google Chrome это можно сделать кликнув правой клавишей мыши и выбрав пункт «Посмотреть код» или же нажав на сочетание клавиш «CTRL+Shift+I»).

Просмотр кода страницы в Google Chrome

Теперь просматриваем код таблицы, которая заключена в теге <table>.

Поиск в коде страницы таблицы для парсинга через IMPORTHTML в Google Таблицах

Данный элемент можно будет выгрузить при помощи конструкции:

=IMPORTHTML(A2;»table»;1)

Пример использования IMPORTHTML c table в Google Doc

  • Где A2 ячейка со ссылкой;
  • table позволяет получить данные с таблицы;
  • 1 – номер таблицы.

Важно! Сам запрос table или list записывается в кавычках «запрос».

Парсинг списков

Получить список, заключенный в тегах <ul>…</ul> при помощи конструкции.

=IMPORTHTML(A2;»list»;1)

Пример использования IMPORTHTML c list в Google Sheets

В данном случае речь идет о меню, которое также представлено в виде списка.

Просмотр списка в коде сайта для использования с IMPORTHTML c list в Google Таблицах

Если использовать индекс третей таблицы, то будут получены данные с третей таблицы в меню:

Просмотр третьего списка в коде сайта для использования с IMPORTHTML c list с индексом 3 в Google Docs

Формула:

=IMPORTHTML(A2;»list»;2)

Просмотр третьего списка в коде сайта для использования с IMPORTHTML c list с индексом 3 в Google Docs

Все готово, данные получены.

Обратная конвертация

Чтобы превратить Google таблицу в MS Excel потребуется кликнуть на вкладку «Файл»-«Скачать»-«Microsoft Excel».

Скачивание файла MS Excel в Google Doc

Все готово, пример можно скачать ниже.

Сохраненный файл MS Excel из Google Sheets

Пример:

https://docs.google.com/spreadsheets/d/1xmzdcBPap6lA5Gtwm1hjQfDHf3kCQdbxY3HM11IqDqY/edit

Парсинг нетабличных данных с сайтов

Проблема с нетабличными данными

С загрузкой в Excel табличных данных из интернета проблем нет. Надстройка Power Query в Excel легко позволяет реализовать эту задачу буквально за секунды. Достаточно выбрать на вкладке Данные команду Из интернета (Data — From internet), вставить адрес нужной веб-страницы (например, ключевых показателей ЦБ) и нажать ОК:

Импорт данных с веб-страницы через Power Query

Power Query автоматически распознает все имеющиеся на веб-странице таблицы и выведет их список в окне Навигатора:

Выбираем таблицу на сайте для импорта

Дальше останется выбрать нужную таблицу методом тыка и загрузить её в Power Query для дальнейшей обработки (кнопка Преобразовать данные) или сразу на лист Excel (кнопка Загрузить).

Если с нужного вам сайта данные грузятся по вышеописанному сценарию — считайте, что вам повезло.

К сожалению, сплошь и рядом встречаются сайты, где при попытке такой загрузки Power Query «не видит» таблиц с нужными данными, т.е. в окне Навигатора попросту нет этих Table 0,1,2… или же среди них нет таблицы с нужной нам информацией. Причин для этого может быть несколько, но чаще всего это происходит потому, что веб-дизайнер при создании таблицы использовал в HTML-коде страницы не стандартную конструкцию с тегом <TABLE>, а её аналог — вложенные друг в друга теги-контейнеры <DIV>. Это весьма распространённая техника при вёрстке веб-сайтов, но, к сожалению, Power Query пока не умеет распознавать такую разметку и загружать такие данные в Excel.

Тем не менее, есть способ обойти это ограничение ;)

В качестве тренировки, давайте попробуем загрузить цены и описания товаров с маркетплейса Wildberries — например, книг из раздела Детективы:

Детективы на Wildberries

Загружаем HTML-код вместо веб-страницы

Сначала используем всё тот же подход — выбираем команду Из интернета на вкладке Данные (Data — From internet) и вводим адрес нужной нам страницы:

https://www.wildberries.ru/catalog/knigi/hudozhestvennaya-literatura/detektivy

После нажатия на ОК появится окно Навигатора, где мы уже не увидим никаких полезных таблиц, кроме непонятной Document:

Навигатор без таблиц

Дальше начинается самое интересное. Жмём на кнопку Преобразовать данные (Transform Data), чтобы всё-таки загрузить содержимое таблицы Document в редактор запросов Power Query. В открывшемся окне удаляем шаг Навигация (Navigation) красным крестом:

Удаляем ненужный шаг Навигация

… и затем щёлкаем по значку шестерёнки справа от шага Источник (Source), чтобы открыть его параметры:

Меняем тип файла

В выпадающием списке Открыть файл как (Open file as) вместо выбранной там по-умолчанию HTML-страницы выбираем Текстовый файл (Text file). Это заставит Power Query интерпретировать загружаемые данные не как веб-страницу, а как простой текст, т.е. Power Query не будет пытаться распознавать HTML-теги и их атрибуты, ссылки, картинки, таблицы, а просто обработает исходный код страницы как текст.

После нажатия на ОК мы этот HTML-код как раз и увидим (он может быть весьма объемным — не пугайтесь):

Исходный код страницы в Power Query

Ищем за что зацепиться

Теперь нужно понять на какие теги, атрибуты или метки в коде мы можем ориентироваться, чтобы извлечь из этой кучи текста нужные нам данные о товарах. Само-собой, тут всё зависит от конкретного сайта и веб-программиста, который его писал и вам придётся уже импровизировать.

В случае с Wildberries, промотав этот код вниз до товаров, можно легко нащупать простую логику:

Изучаем исходный код

  • Строчки с ценами всегда содержат метку lower-price
  • Строчки с названием бренда — всегда с меткой brand-name c-text-sm
  • Название товара можно найти по метке goods-name c-text-sm

Иногда процесс поиска можно существенно упростить, если воспользоваться инструментами отладки кода, которые сейчас есть в любом современном браузере. Щёлкнув правой кнопкой мыши по любому элементу веб-страницы (например, цене или описанию товара) можно выбрать из контекстного меню команду Инспектировать (Inspect) и затем просматривать код в удобном окошке непосредственно рядом с содержимым сайта:

Инспектирование кода HTML на веб-странице

Фильтруем нужные данные

Теперь совершенно стандартным образом давайте отфильтруем в коде страницы нужные нам строки по обнаруженным меткам. Для этого выбираем в окне Power Query в фильтре [1] опцию Текстовые фильтры — Содержит (Text filters — Contains), переключаемся в режим Подробнее (Advanced) [2] и вводим наши критерии:

Фильтруем нужные строки

Добавление условий выполняется кнопкой со смешным названием Добавить предложение [3]. И не забудьте для всех условий выставить логическую связку Или (OR) вместо И (And) в выпадающих списках слева [4] — иначе фильтрация просто не сработает.

После нажатия на ОК на экране останутся только строки с нужной нам информацией:

Отобранные строки

Чистим мусор

Останется почистить всё это от мусора любым подходящим и удобным лично вам способом (их много). Например, так:

  1. Удалить заменой на пустоту начальный тег: <span class=»price»> через команду Главная — Замена значений (Home — Replace values).
  2. Разделить получившийся столбец по первому разделителю «>» слева командой Главная — Разделить столбец — По разделителю (Home — Split column — By delimiter) и затем ещё раз разделить получившийся столбец по первому вхождению разделителя «<» слева, чтобы отделить полезные данные от тегов:

    Отделяем данные от HTML-тегов

  3. Удалить лишние столбцы, а в оставшемся заменить стандартную HTML-конструкцию &quot; на нормальные кавычки.

В итоге получим наши данные в уже гораздо более презентабельном виде:

Зачищенные данные

Разбираем блоки по столбцам

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

Выполнить такое преобразование можно очень легко — с помощью, буквально, одной строчки кода на встроенном в Power Query языке М. Для этого щёлкаем по кнопке fx в строке формул (если у вас её не видно, то включите её на вкладке Просмотр (View)) и вводим следующую конструкцию:

= Table.FromRows(List.Split(#»Замененное значение1″[Column1.2.1],3))

Здесь функция List.Split разбивает столбец с именем Column1.2.1 из нашей таблицы с предыдущего шага #»Замененное значение1″ на кусочки по 3 ячейки, а потом функция Table.FromRows конвертирует получившиеся вложенные списки обратно в таблицу — уже из трёх столбцов:

Разобранная на 3 столбца таблица

Ну, а дальше уже дело техники — настроить числовые форматы столбцов, переименовать их и разместить в нужном порядке. И выгрузить получившуюся красоту обратно на лист Excel командой Главная — Закрыть и загрузить (Home — Close & Load…)

Загруженные в Excel данные с сайта

Вот и все хитрости :)

Ссылки по теме

  • Импорт курса биткойна с сайта через Power Query
  • Парсинг текста регулярными выражениями (RegExp) в Power Query
  • Параметризация путей к данным в Power Query

На первый взгляд Excel и парсинг понятия несовместимые. Как с помощью табличного редактора можно получать информацию из сети? И ведь многие недооценивают Excel, а это вполне посильная задача для него. При этом все делается стандартными методами без необходимости дополнительно что-то устанавливать/настраивать.

Разберем на конкретном примере по получению информации с сайта Минюста, а именно, нам необходим перечень действующих адвокатов Российской Федерации. Кнопки «выгрузить списочно всех адвокатов» — конечно же, нет. На официальном сайте http://lawyers.minjust.ru/ выводится по 20 адвокатов на 1 странице, всего 74 754 страниц, итого на выходе мы должны получить чуть меньше 150 тыс. адвокатов.

Для начала открываем VBA и создаем объект InternetExplorer, посредством которого будем получать данные.

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

Имея информацию о ссылке страницы — осуществляем их перебор, загружаем в InternetExplorer и забираем все данные со страницы.

В коде страницы представлена структура таблицы со всеми столбцами, которые нам необходимы: реестровый номер, ФИО адвоката, субъект РФ, номер удостоверения, текущий статус.

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

В итоге получаем список всех адвокатов в таблицу Excel для дальнейшей обработки.

В данной статье мы разберем, как парсить сайты с помощью «Netpeak Spider» (десктопной программы для парсинга) на примере интернет-магазина. Он позволяет собрать практически любые данные в автоматизированном режиме.

Довольно часто «Netpeak Spider» используют для сбора информации о товарах с интернет-магазинов с возможностью выгрузки в Excel таблицу. Это необходимо для того, чтобы в дальнейшем импортировать эти данные на свой сайт.

Скачать Netpeak Spider

Парсинг товаров с сайта интернет магазина в таблицу

Если Вы обладатель сайта агрегирующего/продающего товары по тематике, к примеру, «Оборудование для общепита», и в Вашем интернет-магазине представлена эта категория, то парсер товаров с сайта поставщика в таблицу Вам может определенно пригодиться.

Связано это с тем, что далеко не все поставщики могут дать Вам выгрузку товаров в формате excel. Либо она обладает излишними данными, которые предполагают большой объем работы: картинки, вставленные непосредственно в таблицу, много ненужной информации, макросы и т.д. Проще взять нужную Вам информацию с исходного сайта, выбрав в автоматизированном режиме именно те данные, которые нужны Вам. Потом можно выгрузить их в эксель или csv таблицу, чтобы в дальнейшем импортировать с помощью «WP All Import» на WordPress сайт или какой-то другой. К слову, не обязательно работать с интернет-магазинами, поскольку «Netpeak Spider» позволяет добывать любую информацию с любых сайтов.

Популярный сервис

Netpeak Spider(Нетпик спайдер)

Вы с таким же успехом можете парсить текстовую информацию, к примеру: новости, аналитику, картинки, агрегировать статистику и эту информацию импортировать в WordPress с помощью «WP AllImport». Либо можно применять дополнительные фильтры и продолжать работать с полученной информацией в табличном виде.

Так же можно пускать ее в дальнейшее производство. Например, спарсить e-mail по списку сайтов и в дальнейшем пустить их в систему е-mail рассылок. Либо на основе этих e-mail создать аудиторию для ретаргетинга в рекламной компании (Вконтакте  или через Яндекс аудитории).

Если Вам интересно узнать более подробно о том, как импортировать товары или данные из уже полученной таблицы, то Вы можете посмотреть вот это видео. Там я подробно рассказываю, как это сделать на примере сайта на WordPress и плагина «WP All Import».

Netpeak Spider — посмотреть все возможности

Здравствуйте, меня зовут Дмитрий

Вам нужно спарсить товары или какие-то данные, возникли вопросы? Закажите персональную скайп/вайбер/вотсап консультацию – 30 мин – 999 руб. Я отвечу на ваши вопросы, подскажу как лучше настроить парсинг, импорт, обновление цен и товаров.

Не хотите разбираться в нюансах – вам нужен готовый результат. Закажите парсинг товаров или любых данных – парсинг 1 сайта за 4999. Нужно спарсить и импортировать товары на сайт, настроить обновление цен или синхронизацию каталога с сайтом поставщика по расписанию – закажите готовое решение за 9999. Напишите мне через форму контакта детали своего проекта и мы обсудим   как я могу вам помочь.

Если мы хотим собрать информацию по всем товарам, которые есть в каталоге интернет-магазина, то нам необходимо заполнить следующие поля:

  • Название товара;
  • Цена;
  • Описание;
  • Картинка.

Для этого нам необходимо проделать следующие действия:

  1. Открываем «Netpeak Spider»;
  2. Заходим в «Настройки» — «Настройки парсинга»;
  3. Ставим отметку «Использовать парсинг HTML данных;
  4. Извлекать необходимые данные можно несколькими путями — XPath, CSS-селектор и регулярные выражения;
  5. Можно просто находить какую-то необходимую информацию и считать, сколько раз она встречается без сохранения в таблицу;

Более подробно почитать про каждый из вариантов извлечения данных Вы можете ниже

Всего в программе 4 вида поиска:

  • Содержит → считает количество вхождений искомой фразы на странице. Работает в формате «только поиск», то есть не извлекает никаких данных. Самый простой вид поиска: представьте, что Вы, просматривая исходный код страницы, просто нажимаете Ctrl+F и вводите необходимую фразу – программа делает это автоматически на всех страницах и показывает, сколько значений она нашла.
  • RegExp → извлекает все значения, соответствующие заданному регулярному выражению. Работает в формате «поиск и извлечение». Следующий по сложности вид поиска: позволяет больше кастомизировать процесс, значительно расширяя возможности поиска, однако требует базовых знаний регулярных выражений. Читайте подробнее о регулярных выражениях.
  • CSS-селектор → извлекает все значения необходимых HTML-элементов на основе их CSS-селекторов. Работает также в формате «поиск и извлечение». Достаточно простой и, в то же время, мощный способ извлечения данных: например, необходимо указать всего лишь одну букву «a», чтобы вытянуть все ссылки со страницы. Читайте подробнее о CSS-селекторах (на английском языке).
  • XPath → извлекает все значения необходимых HTML-элементов на основе их XPath. Работает также в формате «поиск и извлечение». Самый мощный способ выборки данных, однако, требует определённых знаний и опыта. Читайте подробнее об XPath.

Копирование необходимых элементов через xPath

Для того чтобы скопировать необходимые элементы через xPath, открываем наш сайт и карточку товара, где содержится информация. Чтобы проще идентифицировать элементы, нам понадобится консоль вебмастера:

  • В Chrome она вызывается клавишей F12.
  • После этого нажимаем на иконку выделения со стрелкой.
  • Выделяем необходимые элементы — название товара в данном случае.
  • Консоль подсвечивается, и мы нажимаем правой кнопкой мыши для выбора опцию «копировать в xPath».

После того данные в xParth скопированы, можно переходить в настройки парсинга. В том поле, мы будем парсить название, необходимо выдрать опцию xPath. Туда же ставим скопированный xPath из консоли вебмастера.

После этого можно проделать те же самые шаги для «Описания». Если Вы хотите скопировать не весь текст, то можно выделить только определенную его часть. Но так как в данном примере нас интересует полностью описание, то я выбираю тег, который содержит «Описание» и «Особенности».

Получить 14 дней бесплатного пользования в подарок

Особенности парсинга картинок с помощью CSS-селектора

Спарсить картинку xPath нам не поможет. Связано это с тем, что если мы выделим ее таким же образом и попробуем скопировать xPath, то он будет уникальный для конкретного товара. То есть он будет содержать id конкретной картинки, и когда парсер «Netpeak Spider» будет переходить по карточкам других товаров, то там этот id будет меняться, и мы никакую информацию не скопируем.

Поэтому в данном случае, чтобы скопировать url картинки, мы воспользуемся таким методом извлечение данных, как CSS-селектор. Чтобы Вам проще было работать с CSS-селекторами, я рекомендую установить расширение для Chrome оно называется «ChroPath». После установки он будет находиться в правом верхнем углу экрана.

Нас интересует значение src для тега image, так как в нем содержится url нашей картинки. Так как у этого тега img нет какого-то определенного класса, то мы можем посмотреть, что является его родителем.

Мы видим, что этот тег img находится внутри div с id «ShowCardImage». Соответственно, в настройках CSS-селектора мы можем указать, чтобы он нашел на странице элемент с id «ShowCardImage», а потом нашел внутри него img и скопировал значение атрибута src.

С помощью расширения ChroPath открываем вкладку в консоли вебмастера. Здесь можно выбрать, какой тип селектора мы хотим использовать.

Я указываю в ChroPath: id «#ShowCardImage», и потом говорю, какой элемент меня интересует, т.е. img.

После этого я нажимаю «Enter» и он мне выдает информацию согласно CSS-селектору: подсвечивает картинку, которую нашел, а так же фрагмент кода, который соответствует данному CSS-селектору.

Я сразу могу протестировать, правильно ли работает мой CSS-селектор. Здесь, в настройках программы «Netpeak Spider», мне нужно указать, что меня интересует значение атрибута src. Переходим в настройки, в поле «Картинка» и выбираем опцию извлечения данных «CSS-селектор». Далее нужно поставить правило, чтобы найти элемент с id «ShowCardImage» и внутри него найти картинку (тег img), а потом из него извлечь значение атрибута src.

Ограничение области парсинга

Далее, чтобы не парсить лишних данных и не собирать ненужную информацию необходимо ограничить область поиска парсера. Нас не будут интересовать страницы «О компании», «Статьи», «Контакты», «Блог», «Акции» и те разделы сайта, где не содержится информация о товарах. Мы хотим спарсить только каталог, взять информацию о товарах, а все остальные страницы просто игнорировать.

Для этого в «Netpeak Spider» можно задать правила:

  1. Заходим в «Настройки» — «Правила», нажимаем «Добавить правила»;
  2. Ставим «Включить» в таблицу только те url, которые содержат папку /goods/.
  3. Если мы перейдем на какие-то другие страницы сайта, то увидим, что они сгруппированы по категориям.
  4. Если мы посмотрим по всем страницам каталога товаров, то увидим, что они все идут через категорию /goods/. То есть в адресе сайта у нас содержится папка /goods/, и все товары содержатся в ней.

Создание групп правил в «Netpeak Spider»

При необходимости мы можем создавать группы правил и выстраивать логику работы между ними.

  1. Логическое условие «или». Например, если я хочу парсить информацию только из разделов каталога или статей, то я могу добавить второе правило включать в исходный отчет только раздел /goods/ и /articles/ и поставить между ними логическое условие «или». То есть если страница содержит, либо другое, то нужно добавлять ее в отчет.
  2. Логическое условие «и». Правило «и» применяется, когда url должен удовлетворять всем правилам, и таким образом фильтровать и экономить ресурсы парсера.

После того как мы задали условия парсинга и правила обхода сайта – сохраняем настройки и нажимаем «ОК»

Экспорт результатов парсинга

В параметрах мы выбираем тот вид работы, который должен производиться программой. То есть я выбираю здесь исключительно парсинг. Меня не интересует, чтобы «Netpeak Spider» собирал информацию по индексации, битым ссылками и другим параметрам SEO, которые предназначены для анализа внутренней оптимизации сайта. Это необходимо для ускорения работы, а так же для экономии ресурсов и времени.

После того, как выбрана опцию «Парсинг», можно проставить изначальную ссылку на каталог. После этого «Netpeak Spider» перейдет в указанный раздел и начнет переходить по всем ссылкам, собирая информацию, согласно правилам и настройкам, которые мы указали ранее. Для этого:

  • Я ставлю ссылку на каталог, как начальный url.
  • После этого нажимаю «Запуск».
  • Мы видим на вкладке «Парсер», как происходит сбор данных. Если данные собраны, то нам будет показано, что они есть. Для тех полей, где их нет, мы сможем видеть, что они не собраны.

Когда парсер соберет всю информацию и обойдет весь сайт, можно перейти на отдельную вкладку и сразу все результаты посмотреть:

  • Ссылка на страницу товара;
  • Название товара;
  • Описание (где есть описание – оно подсвечивается, где нет – будет пустым);
  • Цена;
  • Картинка.

Мы видим, что все исходные данные собраны. После этого мы нажимаем «Экспорт» и сохраняем в нужном нам формате. Далее мы можем пустить эти данные в дальнейшую работу. Либо работать с ними в таблице и запускать дальнейший импорт на основе этих данных на наш сайт.

Заключение

Если у Вас возникли вопросы по работе «Netpeak Spider», то Вы можете задать свой вопрос в комментариях. Я постараюсь максимально подробно на него ответить. Если Вы не хотите разбираться с какими-то техническими моментами, и Вам просто нужен результат, то Вы можете и оставить заявку на обратную связь. Мы обсудим, как я смогу Вам помочь: как организовать парсинг, и как спарсить и импортировать данные на Ваш сайт.

Вы можете скачать Netpeak Spider и бесплатно пользоваться полноценной версией программы течении 7 дней здесь, если вы решите и дальше(после завершения 7 дней пробного периода) пользоваться Netpeak Spider то можете сэкономить 10% воспользовавшись промокодом 14ca4308.

Вход

Понравилась статья? Поделить с друзьями:
  • Парсинг интернет магазина в excel
  • Пароль на редактирование excel 2007
  • Пароль на папку excel
  • Пароль на открытие файла word 2016
  • Пароль на открытие файла excel vba