Как найти слово на сайте и какие инструменты для этого есть

Автор:
Руслан Шкарбан — автор статьи Руслан Шкарбан
3223
#Советы

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

Для удобства мы разделили статью на две задачи, связанные с поиском контента на сайте. Рассмотрим поиск слов и словосочетаний и CSS классов.

Задача 1. Поиск слова

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

Поисковые операторы

В поисковых системах есть специальные символы, слова и фразы для конкретизации запроса, они называются поисковыми операторами. Операторов большое количество, ознакомиться с ними можно в документации используемого поисковика: Яндекса или Google.

Нас интересует оператор, который позволяет найти нужное словосочетание в пределах одного сайта, - site:.

Используется он так: site: доменное_имя.ru нужное слово.

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

Работоспособность данного оператора проверим через поисковые системы Google и Яндекс.

Чтобы по своему запросу в Google или Яндексе получить подходящие результаты, можно использовать не только поисковые операторы, но и специальные символы. Одни из таких — кавычки. Если заключить в них фразу, поисковая система будет искать именно ее, а не отдельные слова в разных комбинациях. Если кавычки не использовать, поисковики могут показать страницы, которые связаны с отдельными словами из запроса.

Рассмотрим на примере: найдем страницы, на которых встречается фраза пример перевода. Вбиваем ее в поисковик без кавычек. Google и Яндекс помимо подходящих страниц нашли:

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

Но это не показывает, что какой-то вариант лучше или хуже. Все зависит от целей поиска. И кстати, кавычки — не единственный спецсимволы, которые помогают уточнить запрос. При желании можете ознакомиться с полным списком символов в Яндексе и Гугл.

Ольга Сидорова специалист по контенту

Использование оператора site: в Google

Для примера взяли сайт бюро переводов ТранЭкспресс и попытались найти на нем несколько фраз. Одна из них - “подсчет слов”.

Чтобы проиллюстрировать пример точных вхождений и всех схожих фраз мы поочередно вставляем в поисковую строку:

Google выдал список страниц сайта, на которых встречается эта фраза.

Мы использовали site:https://www.tran-express.ru/ подсчет слов. Фраза была без кавычек и в поиске появилось 33 результата.

Поиск в гугле первой фразы без кавычек

Пробуем site:https://www.tran-express.ru/ "подсчет слов". На запрос фразы в кавычках Google показал только 2 результата.

Поиск в гугле первой фразы с кавычками

Пробуем другую фразу site:https://www.tran-express.ru/ примеры перевода. Результат без кавычек - 384.

Поиск в гугле второй фразы без кавычек

site:https://www.tran-express.ru/ "примеры перевода". В кавычках - 4.

Поиск в гугле второй фразы с кавычками

Изучив поисковую выдачу Google, рассмотрим, что выдаст Яндекс.

Использование оператора site: в Яндекс.

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

site:https://www.tran-express.ru/ подсчет слов. К сожалению, Яндекс не выводит количество результатов, но на скриншоте видим, что первая страница поиска заполнена при поиске фразы без кавычек.

Поиск в яндексе первой фразы без кавычек

site:https://www.tran-express.ru/ "подсчет слов". В кавычках только 2.

Поиск в яндексе первой фразы с кавычками

Проверяем вторую фразу.

site:https://www.tran-express.ru/ примеры перевода. Также заполненная первая страница.

Поиск в яндексе второй фразы с кавычками

site:https://www.tran-express.ru/ "примеры перевода". Также 2 результата.

Поиск в яндексе второй фразы с кавычками

Использовать этот подход рационально, если нужно:

Если хотите получить полный список страниц с вашей фразой, следует воспользоваться подходом с парсерами, о котором рассказываем ниже.

Парсеры для поиска слов

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

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

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

Формулировка правил основывается на способах разбора данных:

Ознакомившись с теорией, перейдем к практике. Мы будем взаимодействовать с двумя парсерами: SiteAnalyzer и Screaming Frog SEO Spider

SiteAnalyzer

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

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

Шаг 1. Настройка и получение информации о сайте

Нужно получить список всех страниц. Для этого открываем SiteAnalyzer и вставляем урл сайта. Затем нажимаем на кнопку "Старт". Запускается проверка сайта, длительность зависит от количества страниц на нем.

Начинаем парсинг через сайтаналайзер

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

В редких случаях парсинг может не получится. Причины у этого могут быть разные. Например, установлена защита на хостинге. Если вы столкнулись с тем, что сайт не парсится, попробуйте сменить User-Agent в SiteAnalayzer.

User-Agent - это строка, которую браузер, а в нашем случае парсер, отправляет на сервер при запросе веб-страниц. Она содержит информацию об операционной системе, браузере и другие данные. Подробную настройку юзер-агента мы рассматривали в отдельной статье.

Чтобы сменить User-Agent, перейдите в настройки, далее кликните на "User-Agent" и выберите YandexBot или GoogleBot. После этого повторите парсинг.

Настройки SiteAnalayzer
Смена User-Agent если не работает парсинг
Шаг 2. Поиск

Если парсинг прошел успешно и вы получили основную информацию о сайте, переходим к следующему шагу - поиску интересующей фразы. Для этого переходим во вкладку “Извлечение данных”.

Отображение информации после тестового парсинга

Если добавлены правила для поиска, в графе "Результаты" выводится количество. Мы не задали ни одного правила, поэтому столбец пустой.

Информация со вкладки извлечения данных

Перейдем к этапу внесения правил.

Мы хотим найти словосочетание “подсчет слов”. Для этого воспользуемся методом RegExp. Его выбор объясняется тем, что мы не знаем, в каких HTML тегах данное словосочетание может встречаться. По этой же причине отказываемся от поиска через CSS селекторы.

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

Генератор RegEx

RegExp можно использовать и для поиска отдельных HTML тегов. Также он позволяет исключать из поиска отдельные элементы, для этого нужна конструкция: [^исключение] - в квадратных скобках указывается искомый элемент, а ^ означает исключение. Правилом [^0-9] мы исключаем из поиска все цифры.

Возвращаемся к SiteAnalyzer и выбираем на верхней панели “Проекты”, в открывшемся окне нажимаем “Настройки”.

Настройки SiteAnalayzer

Добавляем название правила. Оно может быть любым, но для наглядности лучше использовать формулировку самого правила. Выбираем RegExp и вносим правило. Важно поставить галочку у “Правила извлечения данных”.

Ввод правила SiteAnalayzer

Сохраняем и возвращаемся на вкладку “Извлечение данных”. Мы добавили одно правило, появилась дополнительная графа с ним. Нажимаем “Старт” и запускаем проверку.

Парсинг через SiteAnalayzer

В нашем случае поиск осуществляется только по форме фразы “подсчет слов”. Если нужно найти и другие варианты этого словосочетания, потребуется добавить дополнительные правила.

Screaming Frog SEO Spider

Другая программа - это Screaming Frog SEO Spider. Предоставляет возможность гибкого сканирования сайта и является одним из лидеров сферы. Ознакомиться со всем функционалом можно в документации. Отметим, что программа также является платной и требует ключ активации.

1. Подготовка. Настраиваем "лягушку"

Как и в случае с сайтаналайзером мы можем менять user agent, для беспроблемного парсинга большинства сайтов рекомендуем его поменять сразу.

Запустив программу наводим курсор на "Configuration" и в появившемся меню выбираем на “Crawl config”.

User-Agent-1

В открывшейся вкладке ищем пункт “User-Agent” и переходим на него. нас интересует выпадающий список Preset User Agents, раскрываем и выбираем DuckDuckBot. Нажимаем “ok”.

Настройка User-Agent-2

На нашем опыте это самый результативный юзер агент, который парсил без каких-то помех все сайты, которые мы ему скармливали.

Шаг 2. Определяем правило поиска.

Как и в случае с прошлым парсером для поиска необходимо задать правило. Вновь открываем вкладку Configuration, на которой выбираем “Custom Extraction”.

Заходим в настройки Screaming Frog

У нас откроется пустая вкладка “Custom Extraction”. Для добавления поискового поля нажимаем add и в поле будет добавлено дефолтная строка под правило поиска.

Добавление правила Screaming Frog

Добавляем правило для поиска и запускаем парсинг.

Добавление правила Screaming Frog

После парсинга мы переходим на вкладку "Custom Extraction", в которой отображаются результаты.

Результаты парсинга screamingfrog

Задача 2. Поиск CSS класса

Рассмотрим другую задачу - поиск CSS класса. Данная задача не по силам поисковым операторам, поэтому пользоваться будем парсерами, с которыми уже познакомились: Screaming Frog SEO Spider и SiteAnalyzer

Мы уже упоминали, что можно искать не только слова, но и отдельные элементы на сайте. Например, на сайте lenwood.ru недавно было необходимо найти все элементы с CSS классом:

“wrapper-calculator-block”

Для решения данной задачи мы можем воспользоваться XPath и CSSPath, кстати, первый вариант приведен в документации Site-analyzer.

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

Подготовка Xpath правила (Актуально для всех парсеров)

Используя XPath правило:

//div[@class="wrapper-calculator-block"]

Мы получим все элементы div, у которых есть класс.

"wrapper-calculator-block"

Лайфхак: получать готовые правила XPath мы можем прямо со страницы в браузере. Для этого нужно нажать cочетание клавиш "Ctrl" + "Shift" + "С". Откроется консоль разработчика, а элементы на странице будут подсвечены. Наводим курсор на нужный элемент и опускаемся в консоль, кликаем правой кнопкой мыши по элементу, выбираем "Копировать", "Копировать XPath".

Копируем Xpath

Имейте в виду, что получить правило таким образом получится не всегда. Зависит от настроек сайта. Например, мы работаем с одним из сайтов, который при копировании Xpath добавляет к правилу айди данной страницы, выглядит это так:

//*[@id="post-1798"]/section/section[2]/div/div[2]/blockquote

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

Правило готово, возвращаемся к парсингу.

SiteAnalyzer

Начнем с поиска через Xpath:

Поиск Xpath в SiteAnalyzer

Добавляем полученное правило в SiteAnalayzer и запускаем проверку.

Будьте внимательны, если в вашем правиле находится лишний пробел или другой символ, то оно не сработает.

Наше использование для поиска класса через Xpath

В дополнительной графе появились результаты поиска.

Наше использование для поиска класса через Xpath

Элементы найдены, перейдем к CSSPath.

Поиск с использованием CSSPath в SiteAnalyzer

Воспользуемся CSSPath. Для поиска нужного нам элемента нам подойдет правило: div[class=wrapper-calculator-block]. Заносим его в настройках и запускаем парсинг

Наше использование для поиска класса через CSSpath

Все правила отработали, элементы найдены. Переходим к следующему парсеру.

Screaming Frog SEO Spider

Поиск Xpath в Screaming Frog SEO Spider

В отличии от прошлой программы тут мы сначала определяем правило для поиска, а потом парсим, а не наоборот. Самостоятельное составление правил мы уже рассмотрели, поэтому воспользуемся, а заодно и познакомимся с встроенным функционалом по созданию поисковых правил - "Visual Custom Extraction", суть которого в визуальном выборе нужного элемента на отрисованной веб-странице или в HTML. Весь функционал работает, но для удобства рекомендуем использовать вкладку, работающую с HTML. Пошагово:

После этого у нас появилась строка с шаблоном для добавления правила. Можем изменить название и прописать правильно для поиска в ручную, но мы воспользуемся удобным инструментом автоматического подбора правила для поиска, для этого нажимаем на иконку глобуса.

Визуальный подбор Screaming Frog

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

Выбираем нужное правило для Screaming Frog

Мы перейдем на вкладку “Source HTML” и в верстке найдем нужный нам элемент - <div class=”wrapper-calculator-block”>, кстати, это можно сделать через поиск. В большинстве способ подбора правила через source является удобнее, т.к. позволяет сразу найти нужный для поиска элемент, но если у вас сложности с HTML, то вы можете воспользоваться и рассмотренным выше варианте выбора через визуальный интерфейс. Мы сразу нашли нужный нам элемент и в графе справа “Suggestions” появилось нужное нам правило, осталось только выбрать его и нажать “Ok”.

Выбираем нужное правило для Screaming Frog

Правило появилось в нашем списке. Снова жмем “Ok” и сворачиваем настройку правил. Копируем урл нужного нам сайта и добавляем его в поле “Enter URL to spider” рядом с логотипом программы и нажимаем “Start”. Будет запущен парсинг сайта, время, как и в случае с SiteAnalyzer зависит от количества страниц на сайте.

После завершения парсинга вновь жмем по вкладке "Overview" для просмотра результатов.

Выбираем нужное правило для Screaming Frog

Поиск с использованием CSSPath в Screaming Frog SEO Spider

Добавляем правило: div[class=wrapper-calculator-block] и запускаем поиск. Дублировать процесс добавления правила не будем, подробно рассмотрели его выше.

Использование csspath в лягушке

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

Используя парсеры, повышайте продуктивность

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

В материале мы показали, как с помощью разных инструментов можно находить текстовое содержимое и CSS классы на сайте.

Рекомендуем при выборе инструмента отталкиваться от целесообразности его использования. Если у вас сайт на 10 страниц и вы понимаете, что нужный элемент встречается в 2-3 местах, то проще будет воспользоваться поисковыми операторами, а если работаете с интернет магазином на 1000 страниц, то без специальных программ тут не обойтись.

Поделиться: