Парсинг Сервис

Что такое парсинг сайта программы и примеры их использования.

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

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

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

Зачем парсинг нужен и когда его используют?

Вообще парсинг можно разделить на 2 типа:

Технический парсинг сайта, которым в основном пользуются SEO специалисты для выявления различных проблем сайта:
Поиск битых ссылок и некорректных 30* редиректов.
Выявление дублей или других проблем с мета-тегами Title, Description и заголовками h1.
Для анализа корректной работы Robots.txt.
Проверка настройки микроразметки на сайте.
Обнаружение нежелательных страниц, которые открыты для индексации.
Прочие технические задачи.

На основе полученных данных специалист составляет технические задания для устранения выявленных проблем.

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

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

Как работает парсинг? Алгоритм работы парсера.

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

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

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

Алгоритм стандартного парсинга сайта.

Поиск необходимых данных в исходном виде.
Извлечение данных с отделением от программного кода.
Формирование отчета согласно требованиям, которые были заданы.
Чем парсинг лучше работы человека?

Парсинг сайта – это рутинная и трудоемкая работа. Если вручную извлекать информацию из сайта, в котором всего 10 страниц, не такая сложная задача, то анализ сайта, у которого 50 страниц и больше, уже не покажется такой легкой.

Кроме того нельзя исключать человеческий фактор. Человек может что-то не заметить или не придать значения. В случае с парсером это исключено, главное его правильно настроить.

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

Какую информацию можно получить, используя парсер?

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

Законно ли парсить чужие сайты?

Парсинг данных с сайтов-конкурентов или с агрегаторов не противоречат закону, если:

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

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

Мы выделяем 4 основных инструменты для парсинга сайтов:

Google таблицы (Google Spreadsheet)
NetPeak Spider
ComparseR
Screaming Frog SEO Spider
Google таблицы (Google Spreadsheet)

Удобный способ для парсинга, если нет необходимости парсить большое количество данных, так как есть лимиты на количество xml запросов в день.

С помощью таблиц Google Spreadsheet можно парсить метаданные, заголовки, наименования товаров, цены, почту и многое другое.

Рассмотрим основные функцииФункция importHTML

Настраивает импорт таблиц и списков на страницах сайта. Прописывается следующим образом:

=IMPORTHTML(“ссылка на страницу”; запрос “table” или “list”; порядковый номер таблицы/списка)

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

Необходимо выгрузить данные из таблицы со страницы сайта.



Для этого в формулу помещаем URL страницы, добавляем тег «table» и порядковый номер — 1.

Вот что получается:

=IMPORTHTML(“hstream/industrialnye-teplonositeli/etilenglikol/”;”table”;1)

Вставляем формулу в таблицу и смотрим результат:


Для выгрузки второй таблицы в формуле заменяем 1 на 2.

=IMPORTHTML(“hstream/industrialnye-teplonositeli/etilenglikol/”;”table”;2)

Вставляем формулу в таблицу и смотрим результат:


Функция importXML

Импортирует данные из документов в форматах HTML, XML, CSV, CSV, TSV, RSS, ATOM XML.

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

Работа с этой функцией предусматривает использование языка запросов XPath.

Формула:

=IMPORTXML(“ссылка”; “//XPath запрос”)

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

Вытягиваем title, description и заголовок h1.

В первом случае в формуле просто прописываем //title:

=importxml(A3;”//title”)


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

Для заголовка h1 похожая формула

=importxml(A3;”//h1”)


С парсингом description немного другая история, а именно прописать его XPath запросом. Он будет выглядеть так:

=importxml(A3;”//meta[name=’description’]/content”)


В случае с другими любыми данными XPath можно скопировать прямо из кода страницы. Делается это просто:


Вот как это будет выглядеть после всех манипуляций

=importxml(A3;”//html/body/div/div/div[1]/div[2]/div/div[4]/div[2]”)


Функция REGEXEXTRACT

С её помощью можно извлекать любую часть текста, которая соответствует регулярному выражению.

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

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

Нужно отделить домены от страниц. Это можно сделать с помощью выражения:

=REGEXEXTRACT(A2;”^(?:https?:\/\/)?(?:[^\n]+)?(?:www\.)?([^:\/\n]+)”)


Подробнее о функциях таблиц можно почитать в справке Google.

NetPeak Spider

Десктопный инструмент для регулярного SEO-аудита, быстрого поиска ошибок, системного анализа и парсинга сайтов.

Бесплатный период 14 дней, есть варианты платных лицензий на месяц и более.

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

Возможности Netpeak Spider:

Проверяет более 80 ключевых ошибок внутренней оптимизации.
Анализирует свыше 70 базовых SEO-параметров
Высокая скорость сканирования
Возможность анализа больших сайтов
Настройка и парсинг кастомных HTML-данных

Ссылка на официальный сайт — netpeaksoftware/spider

Ссылка на youtube канал с полезными видео — www.youtube/user/screamingfroguk/

ComparseR

ComparseR – специализированная программа, предназначенная для глубокого изучения индексации сайта.

У демо-версии ComparseR есть 2 ограничения:

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

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

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

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


Ссылка на официальный сайт — parser.alaev.info/

Обзор возможностей youtu.be/xAz4InkEftE.

Screaming Frog SEO Spider

Особенности программы:

Для работы программы требуется установка JAVA;
Потребляет большое количество оперативной памяти компьютера.
Имеет возможность подключения различных API
Google Analytics
Google Search Console
PageSpeed Insights
Majestic
Ahrefs
Moz
Можно настроить и спарсить кастомные HTML-данные
Есть возможность настройки и запуска программы через расписание с заданными настройками парсинга с сохранением всех необходимых отчетов.
Можно управлять SEO Spider полностью через командную строку. Это включает в себя запуск, полную настройку, сохранение и экспорт практически любых данных и отчетов.

В бесплатной версии доступна обработка до 500 запросов.

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

Не смотря на это, сама программа является великолепным инструментом с множеством возможностей.

Всю необходимую информацию можно узнать из подробного мануала по адресу www.screamingfrog.co.uk/seo-spider/user-guide/.


Ссылка на официальный сайт — www.screamingfrog.co.uk/seo-spider/

Ссылка на youtube канал с полезными видео — www.youtube/user/screamingfroguk/

Примеры глубокого парсинга сайта — парсинг с конкретной цельюПример 1 — Поиск страниц по наличию/отсутствию определенного элемента в коде страниц

Задача: — Спарсить страницы, где не выводится столбец с ценой квартиры.

Как быстро найти такие страницы на сайте с помощью Screaming Frog SEO Spider?

Открываете страницу где есть блок, который вам нужен и с помощью просмотра кода ищите класс блока, который есть на всех искомых страницах.


Чтобы было более понятна задача из примера, мы ищем страницы, блок которых выглядит вот так:


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


В Screaming Frog SEO Spider в разделе Configuration -> Custom -> Search вписываем класс, который отвечает за вывод таблицы на страницах. И среди этих страниц ищем те, где нет столбца с ценами. то есть получаем 2 правила:

Не содержит столбца с названием “Цена, руб”.
И содержит блок с квартирами.

Выглядит это так


Для того, чтобы не парсить весь сайт целиком вы можете ограничить область поиска с помощью указания конкретного раздела, который нужно парсить в меню Configuration -> Include.

Выглядит это так


Вбиваем URL указанный в Include без .*/. В нашем случае kvsspb/obekty/ и парсим.

Выгружаем Custom 1 и Custom 2.


Далее в Excel ищем урлы которые совпадают между файлами Custom 1 и Custom 2. Для этого объединяем 2 файла в 1 таблицу Excel и с помощью «Повторяющихся значений» (предварительно нужно выделить проверяемый столбец).


Фильтруем по красному цвету и получаем список урлов, где есть блок с выводом квартир, но нет столбца с ценами)!

Задача выполнена!

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

Пример 2 — Парсим содержимое заданного элемента на странице с помощью CSSPath

На примере сайта www.ughotels

Задача: — На подобных страницах www.ughotels/kurorty/otdyh-v-sochi/lazarevskoe/gostinitsy-i-minigostinitsy спарсить название отелей.

Давайте разбираться, как такое сделать

Открываете страницу где есть блок, который вам нужен и с помощью просмотра кода ищите класс блока, текст которого нам нужно выгружать.


В Screaming frog SEO spider в разделе Configuration -> Custom -> Extraction вписываем класс, который выявили на предыдущем шаге. То есть .name-hotel-item

Заполнение происходит через «.» , то есть как обычный CSS. Справа выбираем Extract Text (будет собирать текстовое содержимое класса).

Если бы у вас был элемент, который вложен в другой класс (то есть наследуется), то вы бы просто прописали последовательно .name-hotel-item .chto-to-eche

Выглядит это так


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

Идем в меню Configuration -> Include (включить).

Указываем сюда разделы, в которых содержатся все нужные страницы.

Если проще исключить из парсинга какой то раздел, то выбираете Configuration -> Exclude и исключаем какой-либо раздел по аналогии с Include.

Выглядит это вот так для обоих случаев.


Далее парсим сайт, вбив в строку свой урл. В нашем случае это www.ughotels/kurorty/otdyh-v-sochi.

Делаем выгрузку раздела Custom -> Export


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


После фильтрации мы рекомендуем для удобства сделать транспонирование таблички на второй вкладке, так ее станет удобнее читать.

Для этого выделяем табличку, копируем и на новой вкладке нажимаем


Получаем итоговый файл:

Пример 3 — Извлекаем содержимое нужных нам элементов сайта с помощью запросов XPath

Задача: Допустим, мы хотим спарсить нестандартные, необходимые только нам данные и получить на выходе таблицу с нужными нам столбцами — URL, Title, Description, h1, h2 и текст из конца страниц листингов товаров (например, www.funarena/catalog/maty/). Таким образом, решаем сразу 2 задачи:

Собираем в одну таблицу только те данные, которые нам интересны.
При анализе этих данных можем легко найти отсутствующие данные на страницах или другие ошибки.

Сначала немного теории, знание которой позволит решить эту и многие другие задачи.

Технический парсинг сайта и сбор определенных данных со страницы с помощью запросов XPath

Как уже говорилось выше, SEO-специалисты используют технический парсинг сайта в основном для поиска “классических” тех. ошибок. У парсеров даже есть специальные алгоритмы, которые сразу помечают и классифицируют ошибки по типам, облегчая работу SEO специалиста.

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

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