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

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

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

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

В поисковых системах есть специальные символы, слова и фразы для конкретизации запроса, они называются поисковыми операторами. Операторов большое количество, ознакомиться с ними можно в документации используемого поисковика: Яндекса или 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 - программой для SEO-аудита. SiteAnalyzer - бесплатный сервис, но для незарегистрированных на сайте пользователей есть несколько ограничений. Например, если на сайте больше 500 страниц, программа все равно покажет только 500. Поэтому советуем зарегистрироваться и расширить ее возможности.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Шаг 2. Правила для извлечения данных

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

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

Посмотреть примеры правил можно в документации SiteAnalayzer.

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

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

Генератор RegEx

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

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

Настройки SiteAnalayzer

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

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

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

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

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

Наш опыт использования

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

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

Получение элементов с использованием 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. Но для парсинга такой вариант не подходит.

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

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

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

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

Получение элементов с использованием CSSPath

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

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

По окончанию парсинга мы получили аналогичный результат.

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

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

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

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