README.md

ryandexwebmasterv3 - пакет для работы с API Яндекс Вебмастера версии 3.0 на языке R.

Содержание

Краткое описание

Пакет ryandexwebmasterv3 помогает выгружать основные данные о сайтах пользователя Яндес Вебмастера. Используется авторизация OAuth 2.0 для защиты данных.

Установка пакета ryandexwebmasterv3

Установка пакета осуществляется из репозитория GitHub, для этого сначала требуется установить и подключить пакет devtools.

install.packages("devtools")
library(devtools)

После чего можно устанавливать пакет ryandexwebmasterv3.

install_github('kutasok/ryandexwebmasterv3')

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

Функции входящие в пакет ryandexwebmasterv3

На данный момент в пакет входит 18 функций:

ywGetToken()

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

ywGetUserId(token=NULL)

Функция возвращает Id пользователя. Этот ID нужно будет использовать для всех остальных функций.

ywGetSitesList(user_id=NULL, token=NULL)

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

Структура возвращаемого функцией ywGetSitesList дата фрейма:

| Поле | Тип данных | Описание | | --- | --- | --- | | host_id | chr | ID сайта. | | ascii_host_url | chr | ASCII URL сайта | | unicode_host_url | chr | UTF-8 URL сайта. | | verified | chr | Подтвержден ли сайт. | | main_mirror | chr | Главное зеркало сайта, если есть. |

ywAddSite(user_id=NULL, host=NULL, token=NULL)

Позволяет добавить сайт в список сайтов пользователя.

ywDeleteSite(user_id=NULL, host_id=NULL, token=NULL)

Позволяет удалить сайт из списка сайтов пользователя.

ywGetSiteInfo(user_id=NULL, host_id=NULL, token=NULL)

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

ywGetSiteSummary(user_id=NULL, host_id=NULL, token=NULL)

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

ywGetBacklinks(user_id=NULL, host_id=NULL, offset=0, limit=100, token=NULL)

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

ywGetPopQueries(user_id=NULL, host_id=NULL, order_by="TOTAL_CLICKS", token=NULL)

Позволяет получить список топ-500 поисковых запросов, по которым сайт показывался на поиске за последнюю неделю. Можно выбрать 500 запросов с наибольшим числом показов или 500 запросов с наибольшим числом переходов. Задается параметром order_by.

ywGetSitemaps(user_id=NULL, host_id=NULL, parent_id=NULL, limit=NULL, from=NULL, token=NULL)

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

ywGetSitemapInfo(user_id=NULL, host_id=NULL, sitemap_id=NULL, token=NULL)

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

!!! Пока что API дает такой же результат как и для метода ywGetSitemaps(). Лучше пока использовать метод ywGetSitemaps() с указанием parent_id.

ywGetUserAddedSitemaps(user_id=NULL, host_id=NULL, offset=NULL, limit=NULL, token=NULL)

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

ywGetUserAddedSitemapInfo(user_id=NULL, host_id=NULL, sitemap_id=NULL, token=NULL)

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

ywAddSitemap(user_id=NULL, host_id=NULL, sitemap_url=NULL, token=NULL)

Позволяет добавить файл sitemap в Яндекс.Вебмастер.

ywDeleteSitemap(user_id=NULL, host_id=NULL, sitemap_id=NULL, token=NULL)

Позволяет удалить добавленный пользователем файл sitemap.

ywGetIndexingHistory(user_id=NULL, host_id=NULL, date_from=NULL, date_to=NULL, token=NULL)

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

ywGetTicHistory(user_id=NULL, host_id=NULL, date_from=NULL, date_to=NULL, token=NULL)

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

ywGetBacklinksHistory(user_id=NULL, host_id=NULL, token=NULL)

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

ywGetAddedHostsWeb(headers=NULL)

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

ywGetQueriesWeb(headers=NULL, hostId=NULL)

Позволяет получить все запросы хоста из веб версии.

Пример работы с пакетом ryandexwebmasterv3

library(ryandexwebmasterv3)

token <- ywGetToken()

Откроется браузер. Копируем токен и вставляем в RStudio.

user_id <- ywGetUserId(token=token)

sites_list <- ywGetSitesList(user_id=user_id, token=token)

siteInfo <- ywGetSiteInfo(user_id=user_id,
                          host_id=sites_list$host_id[1], 
                          token=token)

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

siteSummary <- ywGetSiteSummary(user_id=user_id,
                                host_id=sites_list$host_id[1], 
                                token=token)
siteBacklinks <- ywGetBacklinks(user_id=user_id,
                                host_id=sites_list$host_id[1], 
                                offset=50, 
                                limit=100, 
                                token=token)

В примере выгружаем 100 ссылок начиная с 51-й.

sitePopQueries <- ywGetPopQueries(user_id=user_id,
                                  host_id=sites_list$host_id[1], 
                                  order_by="TOTAL_CLICKS",
                                  token=token)
siteSitemaps <- ywGetSitemaps(host_id=sites_list$host_id[1], 
                              user_id=user_id, 
                              token=token)
sitemapInfo <- ywGetSitemapInfo(host_id=sites_list$host_id[1], 
                                sitemap_id=siteSitemaps$sitemap_id[1], 
                                user_id=user_id, 
                                token=token)

Пока что API работает некорректно и отдает такой же результат как и в предыдущем методе.

addedSitemaps <- ywGetUserAddedSitemaps(host_id=sites_list$host_id[1], 
                                        user_id=user_id, 
                                        token=token)
addedSitemapsInfo<- ywGetUserAddedSitemapInfo(host_id=sites_list$host_id[1], 
                                              sitemap_id=addedSitemaps$sitemap_id[1], 
                                              user_id=user_id, 
                                              token=token)
indexingHistory <- ywGetIndexingHistory(host_id=sites_list$host_id[1], 
                                        user_id=user_id, 
                                        date_from = "2017-01-01", 
                                        date_to = "2017-01-20",
                                        token=token)
TICHistory <- ywGetTicHistory(host_id=sites_list$host_id[1], 
                              user_id=user_id, 
                              date_from = "2016-11-01", 
                              date_to = "2017-01-20",
                              token=token)
backlinksHistory <- ywGetBacklinksHistory(host_id=sites_list$host_id[1], 
                                          user_id=user_id,
                                          token=token)

ВНИМАНИЕ! Пользователям из Украины нужно использовать прокси чтобы работать с веб версией. Мануал по настройке прокси.

# Берем User-Agent и Cookie из браузера http://img.netpeak.ua/kutasok/rZXle-2017-08-01.png и вставляем ниже.
User_Agent <-  'юзер агент'
Cookie <- 'все куки'

headers <- c('User-Agent' = User_Agent,
             'Cookie' = Cookie);


hosts <- ywGetAddedHostsWeb(headers = headers)
hostId <- hosts$hostId[2];

# Если даты выгрузки не указаны, будет выгрузка за последний месяц.
dateFrom <- '2017-05-28';
dateTo <- '2017-07-28';

# Максимум отдает 3000 запросов.
queries <- ywGetQueriesWeb(headers = header, 
                          hostId = hostId,
                          dateFrom = dateFrom,
                          dateTo = dateTo)


kutasok/ryandexwebmasterv3 documentation built on May 20, 2019, 7:06 p.m.