Netpeak Spider 2.1.1.4: Пользовательский поиск и извлечение данных

Обновления
9Нравится
10Комментарии
Поделиться
Netpeak Spider 2.1.1.4: Пользовательский поиск и извлечение данных

Друзья, в канун больших праздников – Нового года и Рождества – мы хотели бы сделать вам ещё один подарок: новый функционал Netpeak Spider, который позволяет производить поиск по исходному коду и извлекать необходимые данные из веб-страниц. В этом обзоре мы расскажем про сам функционал, его уникальные особенности и покажем несколько примеров использования. Итак, поехали!

1. Описание

Функция «Пользовательский поиск и извлечение данных» позволяет покрыть достаточно большой пласт работы SEO-специалистов и вебмастеров: проверить внедрение систем аналитики, микроразметки, мета-тегов для социальных сетей и многое другое. Новый функционал позволяет настолько сильно расширить применение Netpeak Spider, что нам самим становится страшно :)

Виды поиска

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

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

Настройка

Чтобы добавить отдельный поиск, зайдите на новую вкладку «Поиск» в настройках сканирования. Здесь вы сможете добавить до 15 одновременных поисков и настроить их основные параметры:

1. Название

Необязательное поле, однако может сэкономить время, когда вы настраиваете много различных поисков, среди которых необходимо быстро ориентироваться.

2. Вид поиска

Один из 4 видов: «Содержит», «RegExp», «CSS-селектор» или «XPath».

3. Поисковое выражение

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

4. Область поиска

Только для видов поиска «Содержит» и «RegExp» вы можете выбрать, где именно производить поиск:

  • Весь исходный код → значит, что поиск будет производиться без исключения HTML-тегов;
  • Только текст (исключая HTML-теги) → соответственно, с исключением.

5. Извлечение данных

Только для видов поиска «CSS-селектор» и «XPath» вы можете выбрать, какие именно данные должны извлекаться – для примера будем использовать поиск «a» по CSS-селектору или поиск «//a» по XPath для следующего исходного кода:

<a href=”https://example.com/”><strong>Текст ссылки</strong></a>

  • Внутренний текст → значит, что будет извлекаться только текст элемента и всех дочерних элементов, исключая HTML-теги. Результатом извлечения для вышеуказанного примера будет:

Текст ссылки

  • Внутренний HTML-код → значит, что будет извлекаться всё содержимое элемента. В нашем примере это:

<strong>Текст ссылки</strong>

  • Весь HTML-элемент → значит, что будет извлекаться весь HTML-код. В нашем примере это:

<a href=”https://example.com/”><strong>Текст ссылки</strong></a>

  • Значение атрибута → здесь можно указать, какой именно атрибут необходимо извлекать. Например, при указании «href» в нашем примере будет извлекаться чистая ссылка:

https://example.com/

6. Игнорирование регистра

Только для видов поиска «Содержит» и «RegExp» можно использовать настройку «Не учитывать регистр» – она выставлена по умолчанию и позволяет упростить поиск необходимых фраз. Если для вас важен поиск с учётом определённого регистра, смело убирайте эту галочку.

Просмотр результатов

В правой панели главного окна программы появилась новая вкладка «Поиск», на которой после успешной настройки и проведения сканирования появятся результаты пользовательского поиска.

Будьте внимательны: поиск работает только для HTML-страниц, которые возвращают 2xx код ответа сервера – общее количество таких страниц показано в этом же блоке рядом с надписью «Проанализировано URL».

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

В главной таблице с результатами для каждого поиска создаётся отдельная колонка, которая напоминает работу всех параметров – по колонке можно сортировать и фильтровать, её можно скрыть, выгрузить в Excel / CSV и т.д. Если сделать двойной клик левой кнопкой мыши по числу в колонке, то можно увидеть результаты только по данному URL.

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

2. Уникальные особенности

✔ Масштабирование

Мы бы очень хотели передать вам своё видение нового функционала – как можно под новым углом посмотреть на получаемые данные:

  • вкладка «Поиск» в правой панели главного окна → этот блок позволяет одновременно увидеть все используемые поиски, а также количество URL, на которых было найдено искомое выражение (количество вхождений > 0) и на которых оно не было найдено (количество вхождений = 0): эта информация (Есть / Нет) является кликабельной и приводит вас к соответствующим фильтрам.
  • основная таблица с результатами сканирования → здесь напротив каждого URL показывается сумма всех вхождений искомого выражения.
  • дополнительная таблица с результатами извлечения → здесь происходит группировка данных, потому вы получаете возможность увидеть все уникальные вхождения, их количество и длину.

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

✔ Область поиска

В рамках поиска «Содержит» или «RegExp» есть возможность выбирать область поиска – «Весь исходный код» или «Только текст (исключая HTML-теги)».

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

✔ Высокая производительность

Этот пункт – прямо как вишенка на торте :)

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

3. Примеры использования

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

RegExp

1. Внедрение GTM / GTM ID

Иногда возникают ситуации, когда необходимо проверить правильность внедрения GTM (Google Tag Manager), чтобы быть уверенным, будут ли корректно работать системы аналитики, которые подключаются через него. Также можно нечаянно обнаружить, что на некоторых страницах стоит лишний код GTM.

Регулярное выражение:

['"](GTM-\w+)['"]

Область поиска: весь исходный код

2. Униграммы

Униграммы – это одиночные слова. Теперь Netpeak Spider позволяет извлечь эти данные, что достаточно серьёзно расширяет возможности по анализу текстов на сайте.

Регулярное выражение для униграмм:

\w+

Область поиска: только текст (исключая HTML-теги)

3. Email

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

Регулярное выражение:

[a-zA-Z0-9][a-zA-Z0-9\.+-]+\@[\w-\.]+\.\w+

Область поиска: весь исходный код


CSS-селектор

4. Извлечение всего исходного кода

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

CSS-селектор:

html

Извлечение данных: весь HTML-элемент

5. Ссылки в блоке <body>

Используйте пробел для того, чтобы указать, что в одном HTML-теге необходимо найти и извлечь другой.

CSS-селектор:

body a

Извлечение данных: весь HTML-элемент

6. Тексты из тегов <p> в блоке <body>

Один из встроенных параметров считает количество символов в текстах из тегов <p> в блоке <body>, а теперь вы сможете увидеть сами эти тексты.

CSS-селектор:

body p

Извлечение данных: внутренний текст

7. Теги strong/b, em/i

Недавно мы получили несколько запросов от наших пользователей о том, что они хотели бы считать количество тегов <b> (к примеру) и знать их содержимое. Теперь вытягивать эти данные можно очень просто: обратите внимание, что в примере перечислены все теги через запятую – это абсолютно допустимо, если нужно извлечь все теги сразу.

CSS-селектор:

strong, b, em, i

Извлечение данных: весь HTML-элемент

8. hreflang

Для мультиязычных и мультирегиональных сайтов очень важным является правильное внедрение тегов hreflang. Теперь проверить наличие соответствующих тегов можно с помощью нового функционала: в первом примере ниже будут извлекаться все значения, а во втором – только строка с атрибутом hreflang="en-US", то есть со ссылкой на англоязычную версию страницы для пользователей из США.

CSS-селекторы:

link[hreflang]

link[hreflang='en-US']

Извлечение данных: весь HTML-элемент

9. Микроразметка (Schema.org)

Аналогично GTM – иногда необходимо проверить правильность внедрения микроразметки, а иногда просто понять, используется ли она на сайте в принципе. Первый пример показывает, как извлечь все строки, на которых используется микроразметка; второй же – позволяет извлечь только те строки, которые содержат атрибут itemprop="url".

CSS-селекторы:

[itemprop]

[itemprop='url']

Извлечение данных: весь HTML-элемент


XPath

10. Первый тег h1

Данный параметр уже есть во встроенном наборе с названием «Значение h1». Цель данного примера – показать, какой синтаксис нужно использовать, чтобы самостоятельно извлечь нужные данные (и не обязательно это должны быть заголовки h1).

XPath:

/descendant::h1[1]

Извлечение данных: внутренний текст

11. Теги социальных сетей

С помощью данного XPath можно извлечь теги Open Graph, Facebook и Twitter, которые помогают социальным сетям лучше понимать контент на страницах вашего сайта.

XPath:

/html/head/meta[starts-with(@property,"og:") or starts-with(@property,"fb:") or starts-with(@name,"twitter:")]

Извлечение данных: весь HTML-элемент

12. Интерактивные телефонные номера

Этот XPath позволяет найти и извлечь все теги <a>, в которых используются специальные ссылки для мгновенного набора номера с мобильных устройств или с помощью определённых программ на настольных ПК.

XPath:

//a[starts-with(@href, 'tel:')]

Извлечение данных: весь HTML-элемент

13. Встроенные видео

В примере показано, как найти и извлечь ссылки на YouTube-видео, которые встраиваются с помощью <iframe>.

XPath:

//iframe[contains(@src ,'www.youtube.com/embed/')]

Извлечение данных: значение атрибута src


Читайте ещё один пост о том, как применять парсинг для разных целей: «Как парсить различные данные из интернет-магазина с помощью Netpeak Spider».

Зарегистрируйтесь, если вы ещё не с нами

Чтобы начать пользоваться бесплатным Netpeak Spider, просто зарегистрируйтесь, скачайте и установите программу — и вперёд!

Зарегистрироваться

Коротко о главном

Коллеги, в рамках нового функционала мы реализовали кастомный поиск по исходному коду / тексту с помощью 4 видов поиска: «Содержит», «RegExp», «CSS-селектор» или «XPath». Новая фича полна уникальных особенностей, потому старайтесь экспериментировать и получать максимальный результат в оптимизации своих сайтов.

Это был последний крупный релиз Netpeak Spider в ближайшее время для Windows. Теперь мы начинаем глобальную переработку Netpeak Checker – ждите, будет очень круто!