Как правильно парсить
Перейти к содержимому

Как правильно парсить

  • автор:

Что такое парсинг и как правильно парсить

Аналитика воронки продаж, чаты и звонки клиентам, автоматизация рассылок, шаблоны документов и многое другое для вашего бизнеса в одной OkoCRM.

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

Что такое парсинг

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

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

Законно ли использовать парсинг

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

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

Таким образом, парсинг разрешен, но не путайте его с другими понятиями:

  • взломом сайта: получением данных из личных кабинетов пользователей
  • DDOS-атакой: когда сайт перестает работать вследствие слишком частых запросов к серверу
  • заимствованием авторского контента: забрали картинку с копирайтом или уникальный текст и разместили у себя

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

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

Алгоритм работы парсера

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

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

Нужны продажи? OkoCRM!

Превращайте сделки в выручку. Автоматизируйте рутину, ведите клиентскую базу и организуйте работу команды в одной системе.

Для чего нужен парсинг

Объемы данных в интернете настолько большие, что обработать их вручную бывает просто невозможно. Представьте сайт с каталогом товаров на 3000 позиций. Как анализировать такой массив данных вручную? Никак. Какую-то часть информации, скажем, процентов 15-20 удастся держать под контролем вручную, но остальная доля будет оставаться без внимания. Парсинг данных позволяет контролировать всё.

Вот некоторые способы использования парсеров на благо своего сайта:

  1. Для наведения порядка на сайте. Снова к тому же примеру: на сайте несколько тысяч товаров. Как вы будете поддерживать актуальность цен? А как следить за наличием товара? А каким образом проверите есть ли такой товар в каталоге, если забыли, размещалась группа товаров или нет? С помощью парсера можно собрать все страницы и в одной таблице увидеть все позиции с адресами и описанием
  2. Анализ цен и подстройка под рынок. Чтобы собрать цены вручную, нужно: открыть страницу → найти товар → найти цену на странице. В парсере нужно нажать три кнопки и заполнить пару полей и вы увидите полный список товаров конкурента с ценами
  3. Наполнение карточек товаров. Снова тот же каталог на несколько тысяч позиций. Как писать для каждого товара описания? Вручную, это объем работ на десятки, если не на сотни часов. А ведь можно пойти более простым путем. Спарсить данные, например, с англоязычного сайта, перевести автоматическим способом и у вас есть список из нескольких сотен готовых текстов, требующих минимальных доработок
  4. Парсинг используют при SEO-оптимизации: для аналитики своего сайта(позволяет в одном документе посмотреть мета-теги, урлы и другие данные) и при аналитике конкурентов

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

Достоинства парсинга

  1. Быстрый сбор информации. Человек, работающий с данными устает, устает, ошибается, путается в информации. Робот – нет, он всегда работает в одном режиме. Парсер может работать круглосуточно
  2. Точное следование любым настройкам. Программа не будет отклоняться от заданных параметров сбора информации. Если данные невозможно собрать, выведется ошибка, но точность данных никогда не пострадает
  3. Формирование массивов данных в любой удобный формат
  4. Регулярно проверять сайт. Парсинг может быть систематическим с постоянным контролем качества материалов. Программу можно настроить так, чтобы она отправляла уведомления при обнаружении проблем

Ограничения при парсинге

Парсинг может быть ограничен внутренними ресурсами на сайте:

  • user-agent. Перед посещением сайта бот сообщает ему о себе. Парсер может быть заблокирован при входе на сайт. Чтобы избежать этого, можно задать настройки, чтобы бот представлялся как YandexBot или Googlebot, ограничение будет снято
  • robots.txt. Если ваш бот представился роботом гугла или яндекса, проверьте, нет ли ограничений для поисковиков в файле robots.txt. Найти файл можно на любом сайте по адресу site.ru/robots.txt
  • IP-адрес. Если с одного и того же IP поступает много запросов за короткий промежуток времени IP может быть заблокирован. Если это случилось, используйте VPN
  • Капча. Действия могут быть ограничены, если они повторяют или похожи друг на друга. Выводится капча. Можно научить парсер обходит капчу, но это трудно и дорого, альтернатива – использовать сервисы антикапчи

Управляйте продажами в OkoCRM

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

Парсеры сайтов по способу доступа к интерфейсу

Облачные парсеры

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

  • Церебро Таргет – для парсинга аудитории по интересам из VK
  • Диггернаут – парсинг сайтов конкурентов
  • Catalogloader – многофункциональный парсер для наполнения, отслеживания цен, мониторинга акций и т.д.

Программы-парсеры

Это приложения для установки на компьютер. Как правило, хорошо совместимы с Windows, на линуксе и MacOS возникают проблемы, запускаются через виртуальные машины.

  • Постраничный SEO-парсинг для выявления ошибок на страницах, качества заполнения мета данных и так далее – Screaming Frog, Netpeak Spider
  • Key Collector – специальное приложение для парсинга ключевых слов из различных источников

Парсеры сайтов в зависимости от используемой технологии

Парсеры на основе Python и PHP

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

Парсеры-расширения для браузеров

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

Вот пара полезных расширений в Chrome для владельцев интернет-магазинов: Scraper, Parsers.

Парсеры сайтов на основе Excel

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

Парсинг при помощи Google Таблиц

В Google Таблицах есть встроенный функционал для автоматического сбора информации. Это две функции:

  • IMPORTXML – импортирует информацию из разных источников: XML, CSV, RSS, HTML через запросы Xpath
  • IMPORTHTML – у этой функции возможности уже. Она предназначена для импорта данных из списков и таблиц, размещенных на конкретной странице

Чтобы использовать эти функции не обязательно знать язык запросов Xpath.

Управляйте командой из OkoCRM

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

Парсеры сайтов в зависимости от решаемых задач

Спектр задач, которые решаются с помощью парсера – основной параметр выбора. Вот основные разновидности парсеров по сферам применения:

Парсеры для организаторов совместных покупок (СП)

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

  • сбор товаров из интернет-магазинов и социальных сетей
  • выгрузка товаров из альбомов и каталогов соцсетей
  • сохранение информации в форматы XLS и CSV
  • автообновление блоков информации, например, цен

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

Примеры приложений такого типа:

Сервисы мониторинга конкурентов

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

Сбор данных и автонаполнение контентом

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

Многофункциональные парсеры

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

  • ParseHub – мощный облачный парсер с широким функционалом. Может собирать цены, контакты, маркетинговую информацию, SEO-параметры
  • Datacol – его особенность в работе с широким перечнем источников. Способен доставать данные из соцсетей, с сайтов-конкурентов, из Яндекс Карт

SEO-парсеры

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

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

Выводы

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

  • Зачем? Какие данные нужно извлечь и что нужно сделать: изучить конкурентов, наполнить сайт, проверить SEO-параметры или решить сразу несколько задач
  • В каком виде нужны данные? Формат и объем данных – важный параметр, некоторые сервисы выгружают в небольшую таблицу, другие способны сразу загрузить информацию на сайт
  • Когда и как часто делать выгрузки? Одни сервисы работают только при ручном запуске, другие самостоятельно обновляют данные и уведомляют об изменениях

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

Новости OkoCRM в Telegram

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

Как спарсить любой сайт?

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

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

TL;DR

Чтобы спарсить данные с вебсайта, пробуйте подходы именно в таком порядке:

  1. Найдите официальное API,
  2. Найдите XHR запросы в консоли разработчика вашего браузера,
  3. Найдите сырые JSON в html странице,
  4. Отрендерите код страницы через автоматизацию браузера,
  5. Если ничего не подошло — пишите парсеры HTML кода.

Совет профессионалов: не начинайте с BS4/Scrapy

BeautifulSoup4 и Scrapy — популярные инструменты парсинга HTML страниц (и не только!) для Python.

Крутые вебсайты с крутыми продактами делают тонну A/B тестов, чтобы повышать конверсии, вовлеченности и другие бизнес-метрики. Для нас это значит одно: элементы на вебстранице будут меняться и переставляться. В идеальном мире, наш написанный парсер не должен требовать доработки каждую неделю из-за изменений на сайте.

Приходим к выводу, что не надо извлекать данные из HTML тегов раньше времени: разметка страницы может сильно поменяться, а CSS-селекторы и XPath могут не помочь. Используйте другие методы, о которых ниже. ⬇️

Используйте официальный API

�� Ого? Это не очевидно ��? Конечно, очевидно! Но сколько раз было: сидите пилите парсер сайта, а потом БАЦ — нашли поддержку древней RSS-ленты, обширный sitemap.xml или другие интерфейсы для разработчиков. Становится обидно, что поленились и потратили время не туда. Даже если API платный, иногда дешевле договориться с владельцами сайта, чем тратить время на разработку и поддержку.

Sitemap.xml — список страниц сайта, которые точно нужно проиндексировать гуглу. Полезно, если нужно найти все объекты на сайте. Пример: http://techcrunch.com/sitemap.xml

RSS-лента — API, который выдает вам последние посты или новости с сайта. Было раньше популярно, сейчас все реже, но где-то еще есть! Пример: https://habr.com/ru/rss/hubs/all/

Поищите XHR запросы в консоли разработчика

Кабина моего самолета

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

Обычно, эти данные запрашиваются джаваскриптом через простые GET/POST запросы. А значит, можно подсмотреть эти запросы, их параметры и заголовки — а потом повторить их у себя в коде! Это делается через консоль разработчика вашего браузера (developer tools).

В итоге, даже не имея официального API, можно воспользоваться красивым и удобным закрытым API. ☺️

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

Алгорим действий такой:

Кнопка, которую я искал месяцы

  1. Открывайте вебстраницу, которую хотите спарсить
  2. Правой кнопкой -> Inspect (или открыть dev tools как на скрине выше)
  3. Открывайте вкладку Network и кликайте на фильтр XHR запросов
  4. Обновляйте страницу, чтобы в логах стали появляться запросы
  5. Найдите запрос, который запрашивает данные, которые вам нужны
  6. Копируйте запрос как cURL и переносите его в свой язык программирования для дальнейшей автоматизации.

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

Вместо этого попробуйте просто скопипастить и захардкодить их в своем парсере: очень часто эти строчки валидны 7-30 дней, что может быть окей для ваших задач, а иногда и вообще несколько лет. Или поищите другие XHR запросы, в ответе которых бекенд присылает эти строчки на фронт (обычно это происходит в момент логина на сайт). Если не получилось и без куки/сессий никак, — советую переходить на автоматизацию браузера (Selenium, Puppeteer, Splash — Headless browsers) — об этом ниже.

Поищите JSON в HTML коде страницы

Как было удобно с XHR запросами, да? Ощущение, что ты используешь официальное API. �� Приходит много данных, ты все сохраняешь в базу. Ты счастлив. Ты бог парсинга.

Но тут надо парсить другой сайт, а там нет нужных GET/POST запросов! Ну вот нет и все. И ты думаешь: неужели расчехлять XPath/CSS-selectors? ��‍♀️ Нет! ��‍♂️

Чтобы страница хорошо проиндексировалась поисковиками, необходимо, чтобы в HTML коде уже содержалась вся полезная информация: поисковики не рендерят Javascript, довольствуясь только HTML. А значит, где-то в коде должны быть все данные.

Современные SSR-движки (server-side-rendering) оставляют внизу страницы JSON со всеми данные, добавленный бекендом при генерации страницы. Стоп, это же и есть ответ API, который нам нужен! ������

Вот несколько примеров, где такой клад может быть зарыт (не баньте, плиз):

Красивый JSON на главной странице Habr.com. Почти официальный API! Надеюсь, меня не забанят.И наш любимый (у парсеров) Linkedin!

Алгоритм действий такой:

  1. В dev tools берете самый первый запрос, где браузер запрашивает HTML страницу (не код текущий уже отрендеренной страницы, а именно ответ GET запроса).
  2. Внизу ищите длинную длинную строчку с данными.
  3. Если нашли — повторяете у себя в парсере этот GET запрос страницы (без рендеринга headless браузерами). Просто requests.get .
  4. Вырезаете JSON из HTML любыми костылямии (я использую html.find(«= <") ).

Отрендерите JS через Headless Browsers

Если XHR запросы требуют актуальных tokens, sessions, cookies. Если вы нарываетесь на защиту Cloudflare. Если вам обязательно нужно логиниться на сайте. Если вы просто решили рендерить все, что движется загружается, чтобы минимизировать вероятность бана. Во всех случаях — добро пожаловать в мир автоматизации браузеров!

Если коротко, то есть инструменты, которые позволяют управлять браузером: открывать страницы, вводить текст, скроллить, кликать. Конечно же, это все было сделано для того, чтобы автоматизировать тесты веб интерфейса. I’m something of a web QA myself.

После того, как вы открыли страницу, чуть подождали (пока JS сделает все свои 100500 запросов), можно смотреть на HTML страницу опять и поискать там тот заветный JSON со всеми данными.

driver.get(url_to_open) html = driver.page_source
Selenoid — open-source remote Selenium cluster

Для масштабируемости и простоты, я советую использовать удалённые браузерные кластеры (remote Selenium grid).

Недавно я нашел офигенный опенсорсный микросервис Selenoid, который по факту позволяет вам запускать браузеры не у себя на компе, а на удаленном сервере, подключаясь к нему по API. Несмотря на то, что Support team у них состоит из токсичных разработчиков, их микросервис довольно просто развернуть (советую это делать под VPN, так как по умолчанию никакой authentication в сервис не встроено). Я запускаю их сервис через DigitalOcean 1-Click apps: 1 клик — и у вас уже создался сервер, на котором настроен и запущен кластер Headless браузеров, готовых запускать джаваскрипт!

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

def get_selenoid_driver( enable_vnc=False, browser_name="firefox" ): capabilities = < "browserName": browser_name, "version": "", "enableVNC": enable_vnc, "enableVideo": False, "screenResolution": "1280x1024x24", "sessionTimeout": "3m", # Someone used these params too, let's have them as well "goog:chromeOptions": , "prefs": < "credentials_enable_service": False, "profile.password_manager_enabled": False >, > driver = webdriver.Remote( command_executor=SELENOID_URL, desired_capabilities=capabilities, ) driver.implicitly_wait(10) # wait for the page load no matter what if enable_vnc: print(f"You can view VNC here: ") return driver

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

Парсите HTML теги

Мой единственный совет: постараться минимизировать число фильтров и условий, чтобы меньше переобучаться на текущей структуре HTML страницы, которая может измениться в следующем A/B тесте.

Даниил Охлопков — Data Lead @ Runa Capital

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

Надеюсь, что-то из этого было полезно! Я считаю, что в парсинге важно, с чего ты начинаешь. С чего начать — я рассказал, а дальше ваш ход ��

Что такое парсинг: как правильно парсить цены, фото и товары с сайта

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

Парсер — это автоматизированная система, для которой вся информация в сети представлена в виде кода или текста. Он собирает информацию практически из любых источников в 3 шага: сканирует ресурс → находит заданные параметры → составляет отчет.

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

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

Зачем нужен парсинг?

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

Когда проводят парсинг?

При проведении маркетингового исследования

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

При настройке сайта

С помощью парсера web-мастер анализирует структуру интернет-магазина через карту ресурса

При мониторинге цен

Когда нужно отследить изменения цены у конкурентов и сделать ответное предложение покупателям, настраивают парсинг цен. Можно отслеживать динамику и предлагать скидки в ответ на действия других компаний — парсер существенно экономит время.

Или отслеживать динамику цен у поставщиков. Это особенно важно интернет-магазинам и бизнесам, действующим по модели дропшиппинг

При поиске товарных позиций

Если с сайта компании-поставщика нужно перенести описание и характеристики товаров, автоматизируйте процесс.

Собирайте информацию по требуемым параметрам и копируйте в свой каталог

При поисковой оптимизации сайта

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

Специалисты также парсят позиции конкурентов в поисковой выдаче, выделяют title, description и заголовки.

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

При аудите ссылочной массы

Когда сайт выдает ошибку, web-мастер оптимизирует работу с помощью парсера.

Программа ищет неработающие страницы и линки, а специалист исправляет ошибки

При анализе контента на сторонних сайтах и в соцсетях

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

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

Парсер автоматически сводит информацию по нескольким компаниям в один отчет

При сборе контактов и адресов компаний

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

При отслеживании объемов продаж

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

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

Читайте также: Почему разовое SEO не может быть выходом?

Ограничения по парсингу

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

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

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

Если хотите на своем сайте собирать персональные данные, предупредите посетителей об этом.

Пример формы с уведомлением

Читайте также: Как предотвратить утечку данных: кейс от компании Timehop

Преимущества и недостатки парсинга

Автоматический сбор информации имеет несколько преимуществ:

  • Самостоятельная работа. Специалист ставит задачу, а парсер находит и сортирует данные по указанным параметрам при наличии стабильного доступа к Интернету. Время работы не ограничено. Программа может собирать сведения 24 часа в сутки без перерывов.
  • Анализ и систематизация. Специалист указывает один или несколько параметров, по которым парсер сводит сведения. Количество настроек не ограничено. Готовый отчет содержит только необходимый контент без спама, ошибок или нерелевантной информации.
  • Отсутствие ошибок. При использовании парсера человеческий фактор исключен. Программа не устает и не допускает ошибки по невнимательности.
  • Удобный отчет. Парсер формирует сведения в удобной форме. Пользователь настраивает форму отчета сам.
  • Распределение нагрузки. Парсер учитывает требования по частоте обращений к сайту и минимизирует риск взлома чужого сайта. Вас не обвинят в умышленной DDOS-атаке.

Единственный существенный недостаток парсинга — невозможность сбора данных с ресурсов с запретом на автоматический сбор сведений.

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

Если вы не хотите, чтобы конкуренты парсили ваш сайт, заблокируйте сторонние запросы через robots.txt или настройте капчу. Хотя эти способы не дают 100% защиты от парсинга конкурентов.

Обойти блокировку можно двумя способами:

  • Настроить отображение бота по именем YandexBot, Googlebot и проверить отсутствие блокировки на эти имена в site.ru/robots.txt/IP.
  • Включить VPN Капча для автоматического распознавания капчи.

Читайте также: Прокси на защите частной жизни: гайд для новичка

Как работает парсинг?

Схема работы парсера

Принцип работы сервисов примерно одинаков:

  1. Программа отправляет запрос на нужный URL-адрес и получает HTML-код с информацией.
  2. Парсер распознает код, трансформирует его в текст, создает структуру в памяти компьютера. Фактически он обратно преобразует HTML-код в заголовки, подзаголовки, абзацы, жирные выделения и т. д.
  3. Парсер систематизирует и сохраняет сведения в файле с расширением .txt, .xls, .html и др.

Способы использования парсинга

Парсер используют в двух случаях:

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

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

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

Читайте также: 6 инструментов, чтобы узнать самые популярные запрoсы в Яндексе

Как парсить цены?

Есть несколько сервисов, которые помогут решить корпоративные задачи:

  • Screaming Frog SEO Spider.
  • Mozenda.
  • Automation Anywhere.
  • Content Grabber.
  • Netpeak Spider.
  • FMiner и др.

Если ни одна из программ не решает поставленной задачи, вы можете написать парсер самостоятельно при помощь любого языка программирования: PHP, C++, Python.

Если парсер нужен для одного параметра на странице, используйте XPath — язык, позволяющий парсить XML-документы. Разберем, как работает XPath на конкретном примере.

Шаг 1. Выбираем объект парсинга

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

Пример, как посмотреть код элемента на странице

Теперь правой кнопкой мыши нажмите на → Copy → XPath. Вы скопировали строку из HTML-кода, где написана необходимая информация, и определили границы будущего парсинга.

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

Когда кусочек кода выделен, выбирайте парсер, например Screaming Frog. Он бесплатно анализирует 500 страниц: проверяет пустые title, дубликаты, заголовки, незаполненные метатеги и битые ссылки. Для парсинга нужна платная версия.

Откройте программу и укажите параметры настройки:

  • Для сбора цен перейдите Configuration → Custom → Extractions и сформируйте запрос. В нашем примере нужная информация обозначена метатегом с классом price_main-value. XPath-запрос выглядит так: //span[@class=»price_main-value»]/span
  • Чтобы получать данные в текстовом виде, поставьте галочку в выпадающем меню справа напротив Extract Text.

Шаг 2. Выбираем источники

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

Перейдите в карту сайта — «адрес сайта/sitemap.xml» или в robots.txt — site.ru/robots.txt и выберите товарные карточки.

Карта сайта в robots.ru

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

Выбирайте страницы, касающиеся товаров, с надписью — Product.

Выбираем источники парсинга в карте сайта

Ссылочную массу выгружайте в раздел Mode → List → Upload → Download Sitemap. Введите гиперссылку с картой сайта, в которой сгруппированы товарные позиции и нажмите ОК. Парсер формирует выборку и выводит на экран.

Раздел Internal отражает данные по всем параметрам:

  • код ответа;
  • возможность индексации;
  • title, description и т. д.

Для просмотра цен нажмите на стрелку в правом верхнем углу. В выпадающем меню выберите Custom → Filter → Extraction. Парсер покажет перечень страниц с товарами и цены на них. Для выгрузки данных нажмите Export.

Чтобы к списку добавить названия товаров, перейдите в Configuration → Custom → Extraction, вставьте дополнительный XPath-запрос, а затем повторно запустите парсер. Проверяйте, как пишется нужный элемент html-кода в справочнике или в sitemap.xml.

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

Читайте также: Как работать в Яндекс Wordstat, чтобы росли продажи

Как парсить фото и иллюстрации?

Крупные интернет-магазины размещают на сайте фото от поставщиков. Они универсальные и могут использоваться в любом каталоге.

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

Большинство систем для управления сайтов, например Bitrix или Shop-Script, разрешают прикреплять ссылки вместо загрузки фото. Через эти движки можно выгружать изображения прямо из CSV-файла.

Чтобы запустить парсинг картинок, выделите код и сформулируйте XPath-запрос:

1. Правой кнопкой мыши нажмите на фотографию и выберите «Посмотреть код объекта».
2. Найдите строку кода и выделите в элементе нужный тег.

Формирование XPath-запроса при парсинге

3. Сформулируйте XPath-запрос: //*[@id=»firstbackground-position»]/*/img/@src
Запрос обращен к идентификатору firstbackground-position — первой фотографией из списка, а также вложенным в него элементам. Они перечислены под * «звездочкой».
Метатег img указывает на строку с указанным URL-адресом. Он покажет парсеру, где брать информацию.
4. Откройте Screaming Frog и перейдите во вкладку Configuration → Custom → Extraction.
5. Вставьте XPath-запрос и нажмите ОК.

Таким способом можно спарсить одну фотографию или весь каталог:

  • Для добавления одного изображения скопируйте ссылку и вставьте ее в парсер Upload → Paste.
  • Чтобы скопировать ссылки по всем фотографиям, опубликованным на ресурсе, выберите вкладку Mode → Spider, введите ссылку на сайте и запустите программу.

Конкретизировать страницы при сборе фотографий не надо. Парсер пропустит разделы, в которых нет иллюстраций.

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

Читайте также: URL для SEO: что это, правильная структура, составление и оптимизация

Как парсить описание товаров?

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

Собирать данные вручную долго и сложно. Автоматизировать процесс и свести данные в Excel-таблицу также помогает парсер.

Последовательность действий та же:

  • Нажмите правой кнопкой мыши на название характеристики, которую хотите выделить. Например, «количество режимов работы» у робота-пылесоса.
  • Выберите «Посмотреть код объекта» и найдите строку с HTML-кодом.

Парсинг описания товара

В данном случае описание находится под тегом . Технические характеристики и описания к ним указаны внутри элемента .

  • Для парсинга нужны элементы с идентификатором «количество режимов работы». XPath-запрос выглядит так: //*[@class=»количество режимов работы»]
  • Откройте парсер Screaming Frog и введите параметр поиска: Configuration → Custom → Extraction → Extract Text.
  • Переключитесь в режим List. Он находится во вкладке Mode.
  • Выберите Upload, укажите ссылку на страницу и начните парсинг.
  • По окончании поиска перейдите в раздел Custom → Extraction.

Программа соберет все параметры, указанные под тегом . Например, в количестве режимов отразится характеристика «2».

Читайте также: Полный гайд по коротким ссылкам: как использовать, возможный вред и обзор сервисов

Заключение

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

Что такое парсинг и как правильно парсить

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

Почитать позже

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

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

В чем преимущества

В отличие от того же хакинга, при парсинге собираются данные из открытых источников – из выдачи поисковых систем, которые компания не скрывает ни от потребителей, ни от конкурентов. То же самое (например, собрать несколько тысяч позиций товаров) можно сделать и вручную, но на это будут потрачены неадекватно большие ресурсы – временные и человеческие. Поэтому сбор информации «поручают» программам. Эта процедура страхует от ошибок, которые бывают при ручном сборе. Ее можно регулярно повторять, чтобы корректировать полученные данные. Информацию легко структурировать, привести к заданному формату, меняя настройки.

Какую информацию можно собирать

Практически любую, которая находится в открытом доступе:

  1. Товары и услуги. Парсинг товаров часто используют интернет-магазины.
  2. Цены и тарифы. Парсинг цен маркетологи применяют для корректировки ценообразования в своей компании.
  3. Контент: характеристики, текстовые описания, картинки.
  4. Объявления.
  5. Ссылки. Например, парсер ссылок может понадобиться для анализа структуры интернет-магазина через карту сайта.
  6. Контакты и данные конкурента.
  7. Телефоны организаций.
  8. Объемы продаж. Некоторые сайты публикуют данные об остатках товаров на складе, а это полезная маркетинговая информация.
  9. Новости. Парсер новостей из СМИ применяют новостные агрегаторы.
  10. SEO-специалисты используют парсер позиций сайта-конкурента и проводят сбор ключевых слов. Для них же разработали несколько программ-парсеров поисковых запросов. Есть сервисы, которые могут выгрузить title, description, keywords и заголовки сайтов-конкурентов.
  11. Можно парсить даже собственный проект, чтобы навести порядок, например, чтобы избавиться от битых ссылок, увидеть, где не хватает фотографий, текстовых описаний и т.д.

Какие алгоритмы задействованы

Программы для парсинга сайтов работают по одной общей схеме:

  1. Программа ищет данные по заданным параметрам или ключевым словам.
  2. Все это собирается и систематизируется по заданным критериям.
  3. Формируется отчет. Он может быть в любом формате: CSV, Excel, XML, JSON, pdf, docx, zip и других.

Для получения контента и данных с сайта нужна специальная программа. Это может быть универсальный парсер (например, облачные русскоязычные сервисы Xmldatafeed, Диггернаут, Catalogloader). У большинства таких программ есть бесплатные и платные версии. Стоимость большинства сервисов невысока. В некоторых случаях, например, для сбора нескольких десятков характеристик товаров, достаточно пробной версии.

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

Как парсить сайты и обрабатывать данные

Для примера расскажем, как спарсить товары с сайта интернет-магазина.

  1. Нужно четко понять, что именно надо собрать. Программы имеют множество фильтров, которые позволяют сразу отсечь все лишнее. Например, вам нужны только товары из конкретного раздела или с определенными ключевыми словами. Возможно, будет достаточно каталога и прайса без текста и характеристик.
  2. Найти сайт-донор (или несколько). Донора нужно указать в специальном окне программы.
  3. Выставляем фильтры, меняем настройки (в каждом сервисе они свои) и запускаем сбор данных.
  4. Полученные данные формируются в файл (текстовый, в форме таблицы, архива и т.д.). Удобный формат файла задается в настройках сервиса.

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

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

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

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

Читайте на AskUsers

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

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

Узнайте, как увеличить конверсию на 41%!

Всего 3 шага и 5 минут вашего времени на пути к росту.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *