Содержание

ТОП-8 сервисов проверки позиций в сравнении

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

Особенно не углубляясь, можно найти более 20 систем съёма позиций. В таких условиях выбор должны определять дополнительные возможности, удобство и цены. В таблице ниже представлены восемь особенно популярных сервисов и сравнение их функционала.

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

ТОП-8 сервисов:

  1. AllPositions
  2. Топвизор
  3. Key Collector
  4. Rush Analytics
  5. SE Ranking
  6. Seopult
  7. Seolib
  8. Пиксель Тулс

Давайте сначала посмотрим таблицу, а перечисленные параметры расшифруем после.

Функциональность / СервисAllPositionsТопвизорKey Collector
Rush Analytics
SE RankingSeopultSeolibПиксель Тулс
Проверка позиций в Яндексе и Google+
+
++++++
Несколько регионов в одном проекте
++++++
+
+
Аналитика трафика++++
+
+++
Анализ конкурентов+ / —++ / —
+
++++ / —
Определение санкций / фильтров
++
Динамика позиций и выгрузка
++++++
+
+
Мобильная выдача++++ / —+
Оценка поведенческих факторов
++
Проверка геозависимости и коммециализации
++
Прогноз трафика CTR x WS++
Динамика групп запросов+
Выявление выросших и просевших URL+
Бесплатный сбор частот WordStat+++ / —+++++
Проверка тегов title, description, h2++++
Проверка запроса на странице++
Релевантные URL и сравнение с продвигаемыми+ / —++ / —+ / —++++
Запись сниппетов по запросу+++++++ / —
Сохранение копии выдачи за дату++
Расчет видимости++

www.searchengines.ru

10 сервисов для мониторинга позиций сайта

 

Хочешь повысить позиции своего сайта и получать дешевый целевой трафик?


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

1. SE Ranking

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

Основные возможности:

  • широкий выбор поисковых систем: Яндекс, Google (в том числе Google Mobile, Maps), Yahoo, Bing;
  • выбор любых стран и регионов мира;
  • добавление ключевых слов как вручную, так и при помощи импорта;
  • мониторинг отдельных URL и субдоменов;
  • бесплатный анализ позиций конкурентов;
  • глубина парсинга — 300 позиций;
  • в наличии гостевой доступ и демо-аккаунты;
  • выгрузка готовых отчетов в форматах PDF, HTML и XLS;
  • персонализация сервиса (подключение своего домена и настройка дизайна).

Кроме того, предоставляет возможность интеграции с Google Analytics и Яндекс Метрикой.

Тестовый период сервиса — 14 дней. Стоимость за 1 проверку при глубине парсинга 200 — 0.002$. Также есть ежемесячные тарифы. При ежедневной проверке до 5 сайтов стоимость подписки составляет 9$, при проверке раз в три дня — 7.2$, при проверке раз в неделю — 5.4$.

2. AllPositions

Инструмент мониторинга позиций с понятным интуитивным интерфейсом. Все расчеты в нем осуществляются при помощи внутренней валюты — «монеты». При этом сервис позволяет ознакомиться со своими возможностями бесплатно. Для этого каждому пользователю, который зарегистрировался в системе, выдается сразу 1000 монет.

Основные возможности:

  • поддержка таких поисковиков, как Яндекс, Google и Mail.ru;
  • 5 вариантов периодичности проверки позиций;
  • неограниченное число сайтов для мониторинга;
  • неограниченное число запросов;
  • глубина парсинга — 100 позиций;
  • есть гостевой доступ;
  • экспорт отчетов в форматах CSV и XML.

Также есть возможность подключения статистики Google Analytics.

Цена одной проверки позиции сайта равняется 1-ой монете. А одна монета стоит 0,002$. Есть система скидок: чем больше монет закупается, тем меньше они стоят «реальных» денег.

3. Topvisor.ru

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

Основные возможности:

  • поддерживает поисковые системы Яндекс, Google, Спутник, go.Mail, Yahoo, Bing;
  • показывает позиции видеороликов в Youtube;
  • проверяет позиции сайтов, поддоменов, внутренних страниц сайта, и даже страниц социальных медиа;
  • предоставляет возможность мониторить позиции сайтов конкурентов;
  • экспортирует данных в CSV -, PDF- и HTML-файлах.

Стоимость одной проверки позиции сайта — 0.007$ (для одного запроса в одной поисковой системе и для одного региона). К слову, системой можно пользоваться вообще бесплатно, если у вас есть XML лимиты.

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

4. Top-inspector.ru

Инструмент, позволяющий увидеть историю позиций по запросам.

Основные возможности:

  • мониторит позиции в двух поисковых системах: Яндекс и Google;
  • возможен выбор до 4-х регионов для одного проекта;
  • можно сравнивать позиции своего сайта с позициями конкурентов;
  • возможно сравнение позиций по датам и периодам;
  • экспортирует отчеты в CSV и XLS форматах;
  • наличие гостевого доступа.

Снятие позиций по одному слову по двум поисковым системам составляет 0,009$. Общая стоимость проекта рассчитывается исходя из количества слов и количества регионов.

5. Seolib.ru

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

Основные возможности:

  • поддерживает Яндекс, Google, Mail.ru, Bing, Yahoo;
  • возможен выбор любого региона;
  • 4 вида периодичности снятия позиций;
  • глубина парсинга — до 500 позиций;
  • сравнение видимости с конкурентами;
  • выгрузка отчетов в CSV, XLS, PDF, DOC;
  • есть гостевой доступ.

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

Сервис предоставляет 25 запросов бесплатно. Стоимость одной проверки по двум поисковым системам — 0.004$.

6. Seoplane.ru

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

Основные возможности:

  • мониторинг позиций по двум поисковикам: Яндекс и Google;
  • возможность указывать отдельные доменные зоны для ПС;
  • широкий выбор регионов;
  • возможность просмотра динамики изменения позиций в поисковых системах;
  • можно получать мини-отчеты по сайтам конкурентов;
  • возможность сохранения отчетов в CSV;
  • возможность использования гостевого доступа.

После регистрации первые 500 проверок бесплатные. В дальнейшем стоимость 1 проверки обойдется в 0,007$.

7. Semrush

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

Основные возможности:

  • определение позиций сайта в поисковой выдаче Google;
  • выбор любых городов, регионов и стран;
  • анализ конкурентов;
  • глубина просмотра — первые 100 позиций;
  • группировка ключевых слов по тегам.

Минимальный тарифный план составляет 99$ в месяц (по всем СЕО-инструментам), но есть возможность запроса индивидуального тарифа.

8. Serpstat

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

Основные возможности:

  • поддерживает три поисковые системы: Google,Yahoo и Bing;
  • предоставляет доступ к данным для любых регионов и стран;
  • анализирует конкурентов;
  • предоставляет возможность мониторить топ-100 по ключевым фразам;
  • позволяет передавать доступ к вашему проекту неограниченному числу пользователей (без доп. платы).

Бесплатный анализ для первых 30 запросов. Минимальная месячная стоимость сервиса начинается с 19$.

9. Seobudget.ru

Популярный SEO-инструмент, который позволяет интегрироваться со статистикой Яндекс Метрики или Google Analytics.

Основные возможности:

  • поддержка двух поисковиков: Google и Яндекс;
  • глубина парсинга — до 250 позиций;
  • возможность отслеживания позиций конкурентов;
  • можно предоставлять гостевой доступ своим коллегам;
  • возможность выгрузки отчетов в Excel-файлах.

Отличительная особенность данного сервиса — это широкая периодичность проверки позиций: каждый день, каждую неделю, раз в две недели, каждый месяц, при обновлении выдачи Яндекса, при обновлении Яндекс Каталога, при обновлении тИЦ, при обновлении поведенческих факторов Яндекса, при обновлении Google PR.

При регистрации сервис дарит более 800 бесплатных проверок (переводит 50 р. на счет при стоимости одной проверки 0,006 р.)

10. Siteposition.ru

Сервис, предоставляющий данные из первоисточников без использования каких-либо «косвенных» методов.

Основные возможности:

  • поддерживает максимальное количество поисковиков: Google, Яндекс, Mail.ru, Rambler, Bing, Yahoo, Gogo;
  • можно снимать позиции как вручную, так и автоматически;
  • парсит от 50 до 300 позиций;
  • предоставляет возможность использования гостевого доступа;
  • выгружает отчеты как в XLS, так и в DOC;
  • снимает позиции конкурентов, если их сайты добавлены в качестве обычных проектов.

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

Цены, соответственно, рассчитываются на основании количества запросов, количества поисковых систем и частоты проверок. Минимальная стоимость одного запроса — 0,002$.

В качестве бонуса мы также провели обзор онлайн-сервиса Pixelplus.

11 . Pixelplus — абсолютно бесплатный сервис для быстрого чека позиций в Яндексе.

Основные возможности:

  • выводит релевантные запросы страниц сайта;
  • позволяет указать регион;
  • предоставляет возможность учитывать поддомены сайта;
  • позволяет скачивать результаты чека в формате CSV;
  • предоставляет сводку по позициям в Яндексе (по ТОП-5, 10, 20, 50).

Лимит на сутки — 100 запросов, которые можно увеличить доступными способами.

Заключение

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

Материалы по теме:

ТОП-10 онлайн-сервисов для анализа внешних ссылок

ТОП 15 советов: как перенести сайт на новый движок без ущерба для SEO

Поддомен или папка, что лучше?



Статьи по теме

webmart.by

Программы и сервисы определения позиций сайта в поисковиках

Как много программ и сервисов определения позиций сайта вы знаете? Мы насчитали более 20. Очевидно, это самый распространенный инструмент в работе SEO-специалистов, так как отслеживание изменений видимости в поисковиках — самая базовая потребность в SEO.

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

Мы выбрали самые популярные сервисы для определения позиций сайта и сравнили их с модулем ведения проектов «Пиксель Тулс».

Какие возможности проверяются?

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

  • Проверка позиций сайта в Яндекс и Google.
  • Возможность выбрать несколько регионов для одного проекта.
  • Проверка в мобильной и десктопной выдаче.
  • Аналитика трафика из поисковых систем.
  • Анализ конкурентов.
  • Определение санкций и фильтров.
  • Отслеживание динамики позиций и выгрузка отчётов по ним.
  • Возможность бесплатно собрать частоту запросов из WordStat.
  • Оценка тегов title, description, h2.
  • Мониторинг наличия ключевого запроса на странице.
  • Определение релевантных URL и сравнение с продвигаемыми.
  • Гостевой доступ к отчёту по постоянной ссылке.
  • Наличие API для собственных разработок.
  • Партнёрская программа.
  • Делегирование лимитов Яндекс.XML.
  • Скидки и программа лояльности для клиентов.
  • Цена проверки 100 позиций в 1 поисковой системе для базовых тарифов.

Сравнение сервисов

Выводы

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

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

Например, у инструмента Key Collector больше «минусов», чем у других. Конечно, эта десктопная программа позволяет снять позиции, но всё же большинство специалистов использует её для сбора семантического ядра, а также в качестве программы для проверки частот WordStat.

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

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

  url: https://tools.pixelplus.ru/news/pozicii-upgrade Меняется только текстовая составляющая страницы, а так же title, Description. Картинки остаются без изменений.

«Модуль ведения проектов» имеет намного более широкий функционал, чем обычный онлайн сервис для отслеживания динамики позиций сайта. Поэтому, когда мы рассказываем о модуле, мы упоминаем отслеживание позиций по ключевым словам в Google, Яндекс как что-то привычное, и незаслуженно уделяем мало внимания соответствующей вкладке в инструменте. Но теперь её функционал расширился и близится к совершенству.

Что полезного появилось?

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

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

2. Сводка по основным показателям проекта и возможность отфильтровать таблицу по ним:

  • Видимость (мониторинг видимости сайта в поисковых системах).
  • Количество запросов в ТОП-3, 10, 30.
  • Количество запросов, которые ухудшились / улучшились.

Фильтры «ТОП» и «Ухудшились / Улучшились» могут работать в паре. Например так:

  1. Выбрали ПС Яндекс.
  2. Отфильтровали запросы в ТОП-3.
  3. Кликнули на «Ухудшились» и увидели каждый поисковый запрос, выпавший из ТОП-3 или опустившийся внутри ТОП-3.

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

3. Количество запросов на странице. Для удобства работы можно выбрать число отображаемых в таблице ключевых фраз: 30, 50, 100 или 500.

Какие возможности открывают новые фильтры?

  1. Удобная проверка позиций в поисковых системах и быстрый поиск всех запросов, по которым они ухудшились и требуется принять меры (по всем ПС).
  2. Поиск запросов, которые просели именно в выбранном поисковике.
  3. Список фраз, которые показали рост (вызывает положительные эмоции)!
  4. Изучить динамику по заданной системе — ТОП-3, 10, 30.
  5. Выбрать все запросы в ТОП-3 — удобно для отчетности и портфолио.

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

tools.pixelplus.ru

Топвизор — сервис поисковой аналитики!

Проверка позиций

Позиции в поисковых системах Яндекс, Google, go.Mail.ru, Спутник, Bing, Yahoo и Seznam по требованию и по расписанию. Десктопная и Мобильная выдача. Любые регионы и языки поиска.

Подбор ключевых слов

Источники: Яндекс.Вордстат (Яндекс.Директ), Яндекс.Метрика, Яндекс.Вебмастер, Google Keyword Planner, Google Analytics, Google Search Console, Webmaster Bing, Кабинет Вебмастера ПОИСК@Mail.ru.

Бид-менеджер Яндекс.Директ

Автоматическое управление ставками Яндекс.Директ для удержания рекламных объявлений на позициях без вылета. До 288 коррекций в сутки (каждые 5 минут!) без вашего участия.

Частота поисковых запросов

Один из основных показателей, на который стоит опираться при выборе ключевых слов для ваших проектов. Точные данные сервисов статистики поисковых запросов: Яндекс.Вордстат и Google Keyword Planner.

Снимки поисковой выдачи

Позиции всех сайтов в поиске (весь Топ 100) по одному или нескольким поисковым запросам на одном экране. Узнайте и анализируйте конкурентов по Средней позиции, Видимости и по сегментам Топа.

Сниппеты страниц в поиске

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

Сбор поисковых подсказок

Используйте поисковые подсказки Яндекс, Google, Спутник, Mail, Bing, Yahoo и Youtube как дополнительный источник актуальных и качественных поисковых запросов. Узнайте, что еще искали пользователи.

Кластеризация запросов

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

Группировка по релевантности

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

Радар (отслеживание изменений)

Инструмент для автоматического отслеживания изменений на сайтах. Робот реагирует и оповещает об изменениях тегов (title, description, h2), контета и HTTP кодов состояния страниц.

Технический анализ сайта

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

Проверка индексации страниц

Постраничная проверка индексации в поисковых системах: Яндекс, Google, Bing и Yahoo. Получайте точные данные о количестве страниц в индексе на текущий момент времени.

Генератор карты сайта

Сообщите поисковым системам о том, как организован контент на вашем сайте. Используйте автообновление карты сайта для работы со смежными инстументами: Анализ сайта, Проверка индексации и Радар.

Апометр (анализатор апдейтов)

Изменения и обновления выдачи поисковой системы Яндекс, изменения выдачи Google, go.Mail.ru, Спутник, Bing и Yahoo по десятибалльной шкале. Разбивка по тематикам. Календарь Апдейтов.

Сокращатель ссылок

Создавайте короткие URL, которыми удобно делиться на форумах, социальных сетях или копировать в мессенджеры. Анализируйте статистику по Кликам, Браузерам, Платформам, Источникам и Географии.

topvisor.com

Бесплатная проверка позиций сайта в Яндексе и Google онлайн

13.06.2019 14:34

Добавили новый SEO-инструмент!

Он умеет быстро и бесплатно определять систему управления контентом (CMS) сайта.

07.05.2019 10:05

Мы переехали на новый сервер!

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

26.03.2019 10:47

Падение сервера 25.03.18

Остановка в работе сервиса связанна c DDoS атакой, в данный момент работа Be1 полностью восстановлена. Будем укрепляться и ждать следующую волну. Извините за временные неудобства.

19.02.2019 10:00

Новое расширение для анализа сайтов!

Наше расширение помогает бесплатно в один клик провести глубокий SEO-анализ сайта. Рекомендуем: https://be1.ru/goto/extension

14.12.2017 12:07

Обновления для Антиплагиата!

Функциональность инструмента Антиплагиат обновилась — исчезла строка «Исключить URL». Теперь эта функция работает автоматически при использовании вкладки «Проверить URL». Также, первая проверка инструмента осуществляется намного быстрее. Однако, если Вы нацелены проверить всё до деталей, нажимайте кнопку «Расширенная проверка».

24.11.2017 14:26

Black Friday! 40% скидка на рекламу!

Успейте заказать рекламу с максимальной скидкой! Оформить заявку можно на странице https://be1.ru/advertising/

15.11.2017 11:14

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

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

09.11.2017 12:07

Инструмент проверки позиций получил дополнительный функционал!

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

08.11.2017 09:45

Аудит сайта доступен каждому!

Be1 начал предоставлять свою первую услугу, благодаря которой можно получить чёткую инструкцию как продвинуть свой сайт на ТОП-овые позиции! Получите отчёт за 3 дня с готовыми решениями.

19.10.2017 16:01

Реклама на сайте Be1.ru

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

be1.ru

Онлайн сервис проверки позиций сайта в поисковиках Google и Яндекс

Поисковые системы

Google и Yandex, выбор нескольких ПС в одном проекте

РЕГИОН И ЯЗЫКИ

Детальное указание страны, города и локации, выбор языка

РАСПИСАНИЯ

Запуск проектов по планировщику, уведомления на e-mail

ГИБКИЕ ТАРИФЫ

Готовые тарифные планы или оплата за проверки

МОНИТОРИНГ КОНКУРЕНТОВ

Оценивайте свои позиции в сравнении с конкурентами

ПРОВЕРКА ЧАСТОТНОСТИ

Получайте частотность по Яндекс.WordStat для ключевых слов

ГРУППИРОВКА КЛЮЧЕВЫХ СЛОВ

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

РЕЛЕВАНТНЫЕ СТРАНИЦЫ

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

ЭКСПОРТ ОТЧЕТОВ

Выгружайте данные в PDF, XLSX, CSV

ЖИВАЯ ВЫДАЧА

Мы собираем реальную выдачу, никаких XML

НАСТРОЙКА ДОСТУПА

Делитесь отчетами с коллегами и заказчиками

БОЛЬШИЕ ПРОЕКТЫ

Анализируем до 1 млн КС в одном проекте

АНАЛИТИКА

Средняя позиция, видимость КС, конкуренция

АНАЛИЗ ТОПА

Новые конкуренты и аутсайдеры ниши

КОЛОНКИ ДАННЫХ

Загрузка произвольных данных для ключевых слов

ЕЩЕ БОЛЬШЕ ВОЗМОЖНОСТЕЙ

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

spyserp.com

Мониторинг позиций своими руками / Habr

Делаем мониторинг позиций запросов в поисковой системе, начало.


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

Наш инструмент будет состоять из 2-х частей:

  • скрипт для парсинга поисковой выдачи, с помощью Curl и lxml
  • веб-интерфейс для управления и отображения, на Django


Узнаем у yandex.ru нашу позицию по запросу.

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

Загружать страницу будем c помощью pycurl.
import pycurl    
c = pycurl.Curl()

Установим url который будем загружать
url = 'ya.ru'
c.setopt(pycurl.URL, url)

Для возврата тела страницы curl использует callback функцию, которой передает строку с html.
Воспользуемся строковым буфером StringIO, на вход у него есть функция write(), а забирать все содержимое из него мы сможем через getvalue()
from StringIO import StringIO

c.bodyio = StringIO()
c.setopt(pycurl.WRITEFUNCTION, c.bodyio.write)
c.get_body = c.bodyio.getvalue

На всякий случай сделаем наш curl похожим на броузер, пропишем таймауты, юзерагента, заголовки и т.д.
c.setopt(pycurl.FOLLOWLOCATION, 1)
c.setopt(pycurl.MAXREDIRS, 5)
c.setopt(pycurl.CONNECTTIMEOUT, 60)
c.setopt(pycurl.TIMEOUT, 120)
c.setopt(pycurl.NOSIGNAL, 1)
c.setopt(pycurl.USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0')
httpheader = [
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3',
    'Accept-Charset:utf-8;q=0.7,*;q=0.5',
    'Connection: keep-alive',
    ]
c.setopt(pycurl.HTTPHEADER, httpheader)

Теперь загружаем страницу
c.perform()

Вот и все, страница у нас, мы можем прочитать html страницы
print c.get_body()

Так-же можем прочитать заголовки
print c.getinfo(pycurl.HTTP_CODE)

И если получили получили какой-то отличный от 200 ответ сервера, то сможем его обработать. Сейчас мы просто выкинем исключение, обрабатывать исключения будем в следующих статьях
if c.getinfo(pycurl.HTTP_CODE) != 200:
	raise Exception('HTTP code is %s' % c.getinfo(pycurl.HTTP_CODE))

Обернем все что получилось в функцию, в итоге у нас получилось

import pycurl

try:
    from cStringIO import StringIO
except ImportError:
    from StringIO import StringIO

def get_page(url, *args, **kargs):
    c = pycurl.Curl()
    c.setopt(pycurl.URL, url)
    c.bodyio = StringIO()
    c.setopt(pycurl.WRITEFUNCTION, c.bodyio.write)
    c.get_body = c.bodyio.getvalue
    c.headio = StringIO()
    c.setopt(pycurl.HEADERFUNCTION, c.headio.write)
    c.get_head = c.headio.getvalue
    
    c.setopt(pycurl.FOLLOWLOCATION, 1)
    c.setopt(pycurl.MAXREDIRS, 5)
    c.setopt(pycurl.CONNECTTIMEOUT, 60)
    c.setopt(pycurl.TIMEOUT, 120)
    c.setopt(pycurl.NOSIGNAL, 1)
    c.setopt(pycurl.USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0')
    httpheader = [
        'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
        'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3',
        'Accept-Charset:utf-8;q=0.7,*;q=0.5',
        'Connection: keep-alive',
        ]
    c.setopt(pycurl.HTTPHEADER, httpheader)
    
    c.perform()
    if c.getinfo(pycurl.HTTP_CODE) != 200:
        raise Exception('HTTP code is %s' % c.getinfo(pycurl.HTTP_CODE))

    return c.get_body()

Проверим функцию
print get_page('ya.ru')
Выберем из страницы поисковой выдачи список сайтов с позициями

Сконструируем поисковый запрос,
на yandex.ru/yandsearch нам нужно послать 3 GET параметра,
‘text’-запрос, ‘lr’-регион поиска, ‘p’-страница выдачи
import urllib
import urlparse

key='кирпич'
region=213
page=1
params = ['http', 'yandex.ru', '/yandsearch', '', '', '']
params[4] = urllib.urlencode({
	'text':key, 
    'lr':region,
    'p':page-1,
})
url = urlparse.urlunparse(params)

Выведем url и проверим в броузере
print url 

Получим через предыдущую функцию страницу с выдачей
html = get_page(url)

Теперь будем ее разбирать по dom модели с помощью lxml
import lxml.html

site_list = []
for h3 in lxml.html.fromstring(html).find_class('b-serp-item__title'):
    b = h3.find_class('b-serp-item__number')
    if len(b):
        num = b[0].text.strip()
        url = h3.find_class('b-serp-item__title-link')[0].attrib['href']
        site = urlparse.urlparse(url).hostname
        site_list.append((num, site, url))

Поподробнее напишу что тут происходит
lxml.html.fromstring(html) — из html строки мы делаем обьект html документа
.find_class(‘b-serp-item__title’) — ищем по документу все теги, которые содержат класс ‘b-serp-item__title’, получаем список элементов h3 которые содержат интерсующую нас информацию по позициям, и проходим по ним циклом
b = h3.find_class(‘b-serp-item__number’) — ищем внутри найденого тега h3 элемент b, кторый содержит номер позиции сайта, если нашли то дальше собираем позицию b[0].text.strip() сайта и строчку c url сайта
urlparse.urlparse(url).hostname — получаем доменное имя

Проверим получившийся список

print site_list

И соберем все получившееся в функцию
def site_list(key, region=213, page=1):
    params = ['http', 'yandex.ru', '/yandsearch', '', '', '']
    params[4] = urllib.urlencode({
        'text':key, 
        'lr':region,
        'p':page-1,
    })
    url = urlparse.urlunparse(params)
    html = get_page(url)
    site_list = []
    for h3 in lxml.html.fromstring(html).find_class('b-serp-item__title'):
        b = h3.find_class('b-serp-item__number')
        if len(b):
            num = b[0].text.strip()
            url = h3.find_class('b-serp-item__title-link')[0].attrib['href']
            site = urlparse.urlparse(url).hostname
            site_list.append((num, site, url))
    return site_list

Проверим функцию
print site_list('кирпич', 213, 2)
Найдем наш сайт в списке сайтов

Нам потребуется вспомогательная функция, которая отрезает ‘www.’ в начале сайта
def cut_www(site):
    if site.startswith('www.'):
        site = site[4:]
    return site

Получим список сайтов и сравним с нашим сайтом

site = 'habrahabr.ru'
for pos, s, url in site_list('python', 213, 1):
	if cut_www(s) == site:
		print pos, url

Хм, на первой стрнице выдачи по ‘python’ хабра нету, попробуем пройти выдачу в цикле в глубину,
но нам нужно поставить ограничение, max_position — до какой позиции мы будем проверять,
заодно и обернем в функцию, а на случай, если ничего не найдется будем возвращать None, None
def site_position(site, key, region=213, max_position=10):
    for page in range(1,int(math.ceil(max_position/10.0))+1):
        site = cut_www(site)
        for pos, s, url in site_list(key, region, page):
            if cut_www(s) == site:
                return pos, url
    return None, None

Проверяем
print site_position('habrahabr.ru', 'python', 213, 100)

Вот собственно мы и получили нашу позицию.

Напишите пожалста, интересна ли данная тема и нужно-ли продолжать?

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

habr.com

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

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