
Выходить на любой рынок без анализа ниши - глупо. Но сегодня мы поговорим не об этом.
В этом посте я расскажу как с помощью программы Screaming Frog SEO Spider можно парсить контент конкурента. Например:
- описание, характеристики и цену продукта;
- изображения;
- наличие и количество отзывов;
- количество просмотров статьи;
- наличие seo текстов;
- и т.д..
Инструкция по применению
Выбираем сайт с которого хотим спарсить данные. Я возьму на пример сайт habr.com. И сегодня мы попробуем найти материал, у которого больше всего комментариев.
Переходим на любую страницу материала, скроллим к блоку отзывов. Правой кнопкой мыши кликам по количеству комментариев и выбираем "Просмотреть код":

Далее выбираем код, который отвечает за вывод количества и снова кликаем правой кнопкой мыши на выбранном элементе. Копируем XPath:

Открываем Screaming Frog, копируем адрес сайта в поле:

Не спешите кликать на кнопку "Start". Переходим в меню Configuration - Custom - Extraction:

Выбираем настройки как на скрине (1) и вставляем скопированный код XPath в поле (2):

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

И добавляем правило парсинга только постов (.* - любые символы):

После всего это жмем ОК и начинаем парсинг нажатием на кнопку Start.
Хабр сайт очень большой, ждать пока жаба спарсит все страницы мы не будем, поэтому покажем результат на том, на что у меня хватило терпения ждать).
Скроллим правое меню до блока "Custom", выбираем Extaction:

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

Что еще
А еще мы можем доставать необходимую нам информацию по шаблону, например мыло или номер телефона. Разберем ситуацию с мылом.
Спарсим с помощью RDS ТОП 100 выдачи:

В спайдере выбираем LIST:

Настраиваем выборку:

И добавляем следующий код - [a-zA-Z0-9-_.]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+

Загружаем в спайдер спарсеные сайты:

И получаем базу мыла:

Как парсить цены с сайта конкурента
Выбираем жертву, у меня это будет сайт цитруса. Ну и конечно же парсить одни цены это глупо, поэтому вместе с ценой будем брать и название товара.
Что бы не парить лишнее выбираем раздел, у меня это "Смартфоны" и задаем следующие правила ограничивающие лягушку:
Копируем xPath элемента цены:
Вставляем в Custom Extraction:
Добавляем аналогично и название товара, запукаем парсинг. Я, как и всегда, весь сайт не парсил. Мне это не нужно:)
Экспортируем и смотрим что вышло:
Вывод
Используйте полученные данные только на благие цели. Играйте честно и уважайте чужой труд.
Пишите в комментарии как еще можно использовать данный парсинг.
Марина
30.05.2018Большое спасибо за изложение данного материала. Информация полезная и очень экономит время в работе, уже использую.
Евгений
30.05.2018Пробнул по кол-ву товару, довольно удобная штука, для того чтобы найти на каких страницах отсутствует товар или его мало.
Alex
14.06.2018Очень полезная инфа,особенно возможность парсинга почт!
Спасибо!
Макс
14.06.2018Да, проверил, всё работает! Отменная статья, можно выпарсить холодную аудиторию для своего будущего сайта. Спасибо!
Денис
12.07.2018Политай, большое спасибо за статью и советы в телеграмме! По моей задачи спарсить почты с пачки уже отобранных сайтов лучше всего подошла схема - спарсить все страницы в индексе по оператору site: через scarpebox, после с этих страниц парсим почты screamingfrog-ом по регулярке указанной в статье или же самим скрейпбоксом. Это конечно не решает вопрос с почтами, которые на странице не в индексе и это не главная, почтами, которые "замаскированы" от парсинга (dot), (dog), почтами в скриптах (можно, но будет очень долго парситься таким способом) и нужно помнить, что на некоторых сайтах еще просто формы связи, без почт.
Спасибо за статью!
alex
21.08.2018Хорошо написано !
Как спарсить цены если есть переменная ,цена показывается при выборе размера или определенного параметра?
admin
25.08.2018Цену будет показываться та, которая по умолчанию. Если без параметров не отображается, тогда увы нельзя никак (пока что))
Александр
27.09.2018Не совсем удобно и красиво, каждый раз нагружать сайт, откуда парсишь.
Есть ли выход, чтобы один раз просканировать сайт, а дальше Extraction делать уже без повторного обращения к сайту?
Либо только через костыля, аля офлайн копия сайта через другую программу?
admin
27.09.2018Запрос идет из одного ip, это особой нагрузки на сайт не создает.
По поводу один раз спарсить, а потом доставать данные - нет, так нельзя сделать вообще)
Просто тестируйте экстракцию на одной или паре страниц, после чего запускайте на весь сайт.
SiteAnalyzer
12.01.2019Для проведения технического аудита рекомендую посмотреть в сторону SiteAnalyzer - бесплатная программа для аудита и технического анализа сайта. При этом по набору функций практически не уступает платным аналогам.
Vladislav
14.01.2019Зачем?
Алексей
01.02.2019Годнота, подписываюсь.
Walt
26.02.2019Как ты выгркзил топ 100 серпа? RDS это что? Отличная статья!
Vladislav
27.02.2019RDS это плагин для хрома - https://chrome.google.com/webstore/detail/rds-bar-seo-pagerank-dmoz/jlipcaflaocihnmlhnhcfombgmmfglho?hl=ru
Для вывода топ100 нужно настроить гугл - http://joxi.ru/vAWpPKKH17dZ7r
Артем
24.06.2019Супер полезно, как и весь блог в целом. Влад крутейший!
LaVA
30.07.2019Привет. Все супер, полезно, спасибо!
Но не понятно как скачать выдачу ТОП 100 с помощью RDS. у расширения ведь нет такой функции 🙁
Vladislav
30.07.2019Все на месте) http://joxi.ru/MAjNQ44cjKVNNA
Александр
19.09.2019привет. спасибо за статью. очень ценный материал!
вопрос: можно ли как то автоматизировать сбор списка доменов по ключам из выдачи яндекса и гугла?
Vladislav
19.09.2019Можно, пиши в телегу - расскажу)
Nadia
19.09.2019Привет. Классный блог!
В статье есть упоминание о сборе номеров телефонов. Подскажите Xpath для мобильных!
Спасибо!
Vladislav
19.09.2019С мобильными не так просто все, нужно много масок использовать. Некоторые пишут номера вместе без тире и символов, есть с тире и кодом страны и т.д.
Пишите в телегу, помогу)
Александр
07.10.2019Здравствуй Владислав!) Если уже у тебя есть составленная регулярка для мобильных можешь поделиться? какая-нибудь универсальная для всех номеров... а то уже несколько часов сижу туплю...
Vladislav
08.10.2019Напишите в телегу, разберемся)
Александр
08.12.2019Привет. Спасибо за материал!
Напиши пожалуйста маску для телефонов, перебрал множество вариантов, в том числе и этот
^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$
в лягушке не один не работает. Спасибо!