Заказать SEO-услуги
Согласен с правилами обработки персональных данных
Скорость ответа - до 30 минут!

Автоматизированный парсинг сайтов

like 0
1. Что такое парсинг сайтов

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

3. Как парсить данные с помощью различных сервисов и инструментов

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

Подводим итоги

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

Поэтому для автоматизированного и упрощённого извлечения и группировки данных был придуман парсинг.

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

1. Что такое парсинг сайтов

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

  1. Построение запроса для получения первоначальной информации.
  2. Извлечение информации согласно прописанному алгоритму.
  3. Формирование и структурирование информации.
  4. Сохранение полученных данных.

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

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

Чаще всего парсеры настраиваются для:

  • распознавания уникального HTML;
  • извлечения и преобразования контента;
  • хранения очищенных данных;
  • извлечения из API.

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

Зачастую парсинг используется для таких целей:

  1. Поиск контактной информации. Парсинг помогает собирать почту, номера телефонов с разных сайтов и соцсетей.
  2. Проверка текстов на уникальность.
  3. Отслеживание цен и ассортимент товаров-конкурентов.
  4. Проведение маркетинговых исследований, например, для мониторинга цен конкурентов для работы с ценообразованием своих товаров.
  5. Превращение сайтов в API. Это удобно, когда нужно работать с данными сайтов без API и требуется создать его для них.
  6. Мониторинг информации с целью поддержания её актуальности. Часто используется в областях, где быстро меняется информация (прогноз погоды, курсы валют).
  7. Копирование материалов с других сайтов и размещение его на своём (часто используется на сайтах-сателлитах).

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

3. Как парсить данные с помощью различных сервисов и инструментов

Способов парсить данные сайтов, к счастью, создано великое множество: платных и бесплатных, сложных и простых.

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

Google Spreadsheet

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

Рассмотрим самые популярные и полезные функции и их применение.

Функция importHTML

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

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

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

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

Таблица на сайте

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

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

=IMPORTHTML(«https://www.segodnya.ua/sport/football/onlayn-tablica-transferov-chempionata-ukrainy-1288750.html»;»table»;1)

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

Данные из таблицы в Google Sheets

Функция importXML

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

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

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

Формула:

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

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

Вытягиваем title и meta description. В первом случае в формуле просто прописываем слово title:

=importxml(A2;»//title»)

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

Title сайта в таблице

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

meta[@name=’description’]/@content

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

Копирование XPath из кода сайта

Вставляем в формулу и получаем содержимое meta description.

Meta description в таблице

Функция REGEXEXTRACT

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

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

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

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

Домены отделены от страниц в таблице

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

Import.io

Эта онлайн-платформа позволяет парсить и формировать данные с веб-страниц, а также экспортировать результаты в форматах Excel, CSV, NDJSON. Для использования import.io не требуется знания языков программирования и написания кода.

Чтобы начать парсить, необходимо вставить ссылку страницы, из которой вы хотите тянуть данные, и нажать на кнопку «Extract data».

Парсинг с помощью import.io

Для экспорта отчётов нажмите на иконку сохранения, затем перейдите в раздел «Extractors» и нажмите на кнопку скачивания.

Скачивание отчёта в import.io

Netpeak Spider

Netpeak Spider проводит SEO-аудит и позволяет проводить кастомный парсинг данных с сайтов.

Функция парсинга позволяет настраивать до 15 условий поиска, которые будут выполняться одновременно.

Чтобы извлечь данные со страниц сайта, выполните такие действия:

  1. Откройте страницу, с которой хотите собрать данные.
  2. Скопируйте XPath или CSS-селектор нужного элемента (например, цены).

 Копирование CSS-селектора из кода элемента страницы

  1. Откройте программу, перейдите в меню настроек «Парсинг» и включите функцию (поставить «галочку»).
  2. Выберите нужный режим поиска и область «Внутренний текст».
  3. Вставьте XPath или CSS-селектор, который вы ранее скопировали.

Настройки для парсинга в Netpeak Spider

  1. Сохраните настройки.
  2. Вставьте домен сайта в адресную строку или загрузите список нужных страниц (через меню «Список URL» или горячими клавишами Ctrl+V, если список сохранён в буфер обмена).
  3. Нажмите «Старт».

Старт парсинга в Netpeak Spider

  1. По завершении анализа перейдите на боковую панель, откройте вкладку «Отчёты»«Парсинг» и ознакомьтесь с результатами.

Отчёт о результатах парсинга в Netpeak Spider

При необходимости выгрузите данные в формате Excel или CSV с помощью кнопки «Экспорт».

Netpeak Checker

Это десктопный инструмент, который предназначен для массового анализа доменов и URL и частично повторяет функционал Netpeak Spider (сканирует On-Page параметры страниц).

Netpeak Checker позволяет за считаные минуты спарсить выдачу поисковых систем Google, Яндекс, Bing и Yahoo.

Чтобы запустить парсинг, проделайте следующее:

  1. Из основного окна программы перейдите в окно инструмента «Парсер ПС».
  2. Пропишите запросы, по которым будет парситься выдача. Если в запросе несколько слов, каждое слово должно отделяться знаком «+» без пробела.

Запросы для парсинга выдачи в Netpeak Checker

  1. Перейдите на соседнюю вкладку «Настройки», где вы можете выбрать поисковые системы, выставить нужное количество результатов и выбрать тип сниппета.

Настройки парсинга в Netpeak Checker

  1. Нажмите на «Старт», чтобы запустить парсинг.
  2. По завершении ознакомьтесь с полученными результатами в таблице.

Готовый отчёт в Netpeak Checker

ParseHub

Приложение ParseHub позволяет парсить сайты и обрабатывать JavaScript, AJAX, файлы cookie и работать с одностраничными приложениями.

Процедура извлечения данных со страниц или сайта строится таким образом:

  1. Создайте новый проект и введите адрес сайта или страницы, с которой вы хотите спарсить данные.
  2. После того как загрузка закончилась, начинайте выбирать нужные элементы (все элементы, которые вы выберете, отобразятся слева).

Выбор элементов страницы для парсинга в ParseHub

  1. После того как вы выбрали все нужные элементы, нажмите на кнопку «Get Data».

Кнопка «Get Data» в ParseHub

  1. Затем нажмите «Run».
  2. После завершения анализа скачайте полученные данные в удобном для вас формате.

Экспорт отчёта в ParseHub

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

Парсинг данных с чужих сайтов не является нарушением закона, если при этом:

  • извлекаемая информация размещена в открытом доступе и не составляет коммерческую тайну;
  • не нарушаются авторские права и условия обслуживания;
  • автоматизированный парсинг осуществляется законным доступом;
  • парсинг не нарушает работу сайта.

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

Подводим итоги

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

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

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

Подписаться на рассылку

Еще по теме:


Юля Телижняк

Контент-маркетолог в компании Netpeak Software.

В IT с 2016 года, в серьёзном IT — с 2018. Пишу о SEO и контент-маркетинге, публикуюсь на внешних площадках.

Люблю природу, музыку и собак.

Любимая цитата: Ягода, добытая без труда, не доставляет наслаждения.

Оцените мою статью: 

1 Star2 Stars3 Stars4 Stars5 Stars (5 оценок, среднее: 4,40 из 5)

Есть вопросы?

Задайте их прямо сейчас, и мы ответим в течение 8 рабочих часов.

Наверх
  • Пётр

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

    • Yulya Telizhniak

      Здравствуйте, Пётр )
      1. По логину нельзя.
      2. По расписанию можно, но нужно писать скрипт)

  • Yuri Igumnov

    Юля спасибо! Но главное не написали сколько все это стоит, надо было рассмотреть и найти бесплатные решение с хорошим качеством исполнения. А эти инструменты все платные. В бесплатных режимах лимиты в 1000 страниц в месяц и меньше, добавьте сводную таблицу цен и лимитов на парсинг и если найдете 2-3 хороших бесплатных инструмента .

    • Yulya Telizhniak

      Юрий, спасибо за комментарий 🙂 Я учту это на будущее.
      Google таблицы бесплатные (кэп), у скримин фрога есть также есть бесплатная версия, но да, с лимитами. ParseLab — бесплатный инструмент, но честно,пока не пробовала его.

  • напишите про блокировки и прокси