API Сервиса Комплексного Анализа сайтов

Автор Тема: API Сервиса Комплексного Анализа сайтов  (Прочитано 141380 раз)

Онлайн SevabАвтор темы

  • Администратор
  • Бизнес оценка: (6, 100%)
  • *****
  • СПАСИБО: 9944
  • Сообщений: 14631
  • Карма: 670
  • Пол: Мужской
    • Hosting & Domaining Forum

Онлайн SevabАвтор темы

  • Администратор
  • *****
12
UPD от 08.12.2016:

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

----------------------------------------------------------------------

Друзья, по многочисленным просьбам команда разработчиков сервиса комплексного анализа сайтов (или сразу сюда) создала API для получения данных сервиса программным путем.
Формат получаемых данных - JSON.





Обращаю внимание, данные отдаются в UTF-8 кодировке.
Если в ответе сервера будут присутствовать не латинские буквы (напр. имя домена президент.рф), а ваш сайт (скрипт) работает в кодировке отличной от UTF-8 (напр. windows-1251, кириллица), то вам придется конвертировать полученные данные в свою кодировку. На PHP это можно сделать с помощью функции iconv.
Тоже самое касается ваших запросов. Если в запросе присутствуют не латинские символы, то запрос должен быть в UTF-8 кодировке.

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


Какие данные вы получаете?

Вы получите 9 основных характеристик сайтов, прошедших комплексный анализ нашим сервисом. Это:

'page_rank' => PageRank главной страницы
'page_rank_real' => Реальный ПР сайта
'trust_rank' => Траст (уровень доверия) сайта
'yandex_rank' => Яндекс рэнк (от нуля до шести)
'yandex_tic' => Яндекс тИЦ
'value_site' => Примерная стоимость сайта
'alexa_rank' => Алекса рейтинг.
'alexa_2_level' => Этот параметр важен только для поддоменов. Если у поддомена алекса рейтинг отличен (редкий случай) от вышестоящего домена, то значение будет 1, иначе 0. Т.е. если значение этого параметра 1, то алекса реальный, если ноль, то рейтинг алексы можно не учитывать.
'spam_links' => Заспамленность сайта. Измеряется от нуля до 100 процентов, либо значение na (не определено, т.е. недостаточно данных для определения).


Каким образом можно получить доступ к API?

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

1) Доступ к интерфейсу предоставляется только различным онлайн сервисам, сайтам, либо программным продуктам.
Для личного пользования будет онлайн сервис на текущем сайте, а этот интерфейс только для сторонних сервисов.

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

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

4) Если вышеуказанные пункты будут выполнены, вы получите пару логин-пароль для доступа к API.

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


Как получать данные?

Сервис работает только с POST запросами. В запросе не более 50 доменов за один раз. Дальше привожу примеры на PHP.
Вы должны послать одномерный массив доменов.
Это может быть что-то вроде:
$check_sites[0] = 'seobuilding.ru';
$check_sites[1] = 'seomastering.com';
$check_sites[2] = 'trustdirectory.org';

или

$check_sites[] = 'seobuilding.ru';
$check_sites[] = 'seomastering.com';
$check_sites[] = 'trustdirectory.org';

Или другим путем полученный массив доменов.
Если массив получен примерно как в примерах выше, перед запросом его (массив) нужно перевернуть, т.е. поменять местами ключи и значения, т.к. POST запросом цифровые ключи не передаются. Пример:
$check_sites = array_flip($check_sites);

Ниже полный рабочий скрипт доступа к API через cURL:

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

Соединяемся с сервисом с помощью функции get_mass_trust, которая использует curl для доступа к API, посылки данных (массива доменов) и пары логин:пароль, а также получения ответа в JSON формате.

В принципе, в вышеупомянутом скрипте все подробно объяснено, поэтому повторяться смысла нет. Обращу лишь внимание на некоторые нюансы.

1) Если ответа нет, либо он не в формате массива, значит что-то пошло не так. Смотрите пояснения в скрипте.

2) Коды ошибок:
'domains_not_in_db' - Ни один из представленных доменом не находится в базе данных. Т.е. нужно проверять вручную через сервис

'wrong_domain_names' - Неправильные имена доменов. Например seobuildi+ng.ru

'try_in_one_second' - Запросы не чаще чем 1 раз в полсекунды. Попробуйте через секунду.

'wrong_login_or_password' - Неправильный логин или пароль

'try_again_in_24_hours' - Больше 10 неудачных попыток входа (неправильный логин или пароль). Вход с вашего IP блокируется на 24 часа.

'wrong_login_try_in_3_seconds' - Неправильный логин или пароль и частота неправильных запросов чаще одного раза в три секунды. Попробуйте через 3 секунды.

3) Сам ответ будет в формате массива, где ключами будут имена доменов, а значениями массивы вышеперечисленных пузомерок и других параметров сайта. Например:
Код:
Только зарегистрированные пользователи могут видеть код. Пожалуйста, войдите или зарегистрируйтесь.
В этом пункте обращу внимание на два возможных значения домена, которые не являются массивами.
   а) 'no_in_db' - Домена нет в базе данных. Значит его сначала нужно проверить нашим сервисом.
   б) 'limit_exceed'. Дело в том, что за один раз можно проверять не более 50 доменов. Все что больше, будет иметь это значение.


UPD:
Ниже скрипт работы с АПИ на python от Глеба с сайта http://www.rodinalinkov.ru/ (скрипт уже работает на этом сайте):

Код:
Только зарегистрированные пользователи могут видеть код. Пожалуйста, войдите или зарегистрируйтесь.

По работе скрипта все. Если кто разработает скрипт доступа к API на другом (не PHP) языке, пожалуйста предоставьте его. Помещу скрипт в это сообщение, чтобы другие пользователи могли им воспользоваться.


Жду ваши замечания и предложения по работе сервиса.



ПС.
Ближайшие две недели будет разработан расширенный API, с помощью которого можно будет получать 40-60 параметров сайта.
На основе обоих программных интерфейсов будет запущен онлайн сервис (на этом сайте) по массовому получению и сравнению характеристик сайтов. До 50 сайтов за один раз.

Онлайн сервис будет бесплатным (это без вариантов), а вот программный доступ к расширенному API бесплатным сделать не получиться, т.к. массовые сложные (ведь данных будет не 9, а 40-60) запросы достаточно накладны.

Поэтому у меня есть к вам вопрос по разрабатываемому расширенному (до 60 параметров сайта) API.
Какая может быть нормальная (приемлемая) цена за запрос по одному (но запрашивать можно будет сразу до 50) домену?

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


PS.PS.
Сервис массовой проверки уже готов. Скоро будет готово API-PRO.
« Последнее редактирование: 08-12-2016, 21:57:30 от Sevab »


Оффлайн remind4me

  • Бизнес оценка: (0)
  • КМС
  • *****
  • СПАСИБО: 874
  • Сообщений: 2875
  • Карма: 81
  • Пол: Мужской
  • Чужие ошибки мы видим сразу, а вот свои...
  • Награды КМС поисковой оптимизации
    • Заметки на память для вебмастера и не только

Оффлайн remind4me

  • КМС
  • *****
  • Доп. информация
    • Бизнес оценка: (0)
    • СПАСИБО: 874
    • Сообщений: 2875
    • Карма: 81
    • Пол: Мужской
    • Чужие ошибки мы видим сразу, а вот свои...
    • Награды КМС поисковой оптимизации
      • Заметки на память для вебмастера и не только
Sevab, отличный API !!!
Я немного прoтестил, с сервера Москвы и Минска - данные получил практически мгновенно!
Вот пример одного из отчетов:

(нажмите чтобы показать/скрыть)

Попробовал несколько кириллических доменов, но ни одного из них нет в базе, всегда был ответ типа: Домен русские-домены.рф - no_in_db
что собственно и должно происходить, главное, что API отрабатывает без сбоев.

Добавлено: 19-10-2013, 21:12:45

Еще один тест.

1. Если я ввожу в скрипте два домена, первый из которых на латинице (moscow.ru), т.е. не кириллический, а второй кириллический (россия.рф), то на выходе все отлично:

(нажмите чтобы показать/скрыть)

2. Если я ввожу только один домен на латинице, то опять же все в порядке:

(нажмите чтобы показать/скрыть)

3. Но, если я ввожу только один кириллический домен, например россия.рф, то на выходе уже не совсем приемлемый вид, вот такой:

(нажмите чтобы показать/скрыть)



Добавлено: 19-10-2013, 21:18:19

Следующий тест.

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

(нажмите чтобы показать/скрыть)

И даже если в скрипт теперь вносил только один кириллический домен, который уже есть в базе, то все ОК:

(нажмите чтобы показать/скрыть)
« Последнее редактирование: 19-10-2013, 21:18:19 от remind4me »


Оффлайн Chiliec

  • Владимир
  • Бизнес оценка: (3, 100%)
  • КМС
  • *****
  • СПАСИБО: 555
  • Сообщений: 2291
  • Карма: 188
  • Пол: Мужской
  • Программист
  • Награды Мастер поисковой оптимизации Почетный гражданин нашего форума

Оффлайн Chiliec

  • КМС
  • *****
  • Доп. информация
    • Владимир
    • Бизнес оценка: (3, 100%)
    • СПАСИБО: 555
    • Сообщений: 2291
    • Карма: 188
    • Пол: Мужской
    • Программист
    • Награды Мастер поисковой оптимизации Почетный гражданин нашего форума
Спасибо за API, очень нужная штука! В будущем планирую использовать ;)
Хотелось бы еще получать дату получения этих показателей.

Какая может быть нормальная (приемлемая) цена за запрос по одному (но запрашивать можно будет сразу до 50) домену?
Естественно, что чем дешевле - тем лучше. Лучше всего по накладным расходам рассчитать (рассматриваю с точки зрения потребителя).

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

Оффлайн remind4me

  • Бизнес оценка: (0)
  • КМС
  • *****
  • СПАСИБО: 874
  • Сообщений: 2875
  • Карма: 81
  • Пол: Мужской
  • Чужие ошибки мы видим сразу, а вот свои...
  • Награды КМС поисковой оптимизации
    • Заметки на память для вебмастера и не только

Оффлайн remind4me

  • КМС
  • *****
  • Доп. информация
    • Бизнес оценка: (0)
    • СПАСИБО: 874
    • Сообщений: 2875
    • Карма: 81
    • Пол: Мужской
    • Чужие ошибки мы видим сразу, а вот свои...
    • Награды КМС поисковой оптимизации
      • Заметки на память для вебмастера и не только
Эх, жаль, что API не для каждого - вещица очень полезная :)
Теоретически можно было бы наверное дать возможность размещать на персональных сайтах, но с такой конфигурацией для логина/пароля (аккаунта), что доступ к данным API был бы возможен лишь 1-2 раза в сутки максимум.
Иначе, если все кому не лень понаставят код на свои сайты, то это может вылиться во что-то подобное DDoS атакам :)
(это так, к слову, ведь я конечно же не знаю, и даже не догадываюсь, насколько сервер с API устойчив к ним)

Оффлайн Ryar

  • Бизнес оценка: (0)
  • Старожил
  • ****
  • СПАСИБО: 136
  • Сообщений: 367
  • Карма: 59
  • Пол: Мужской
  • Является ли бинарное дерево зеркалом самого себя?
  • Награды КМС поисковой оптимизации

Оффлайн Ryar

  • Старожил
  • ****
  • Доп. информация
    • Бизнес оценка: (0)
    • СПАСИБО: 136
    • Сообщений: 367
    • Карма: 59
    • Пол: Мужской
    • Является ли бинарное дерево зеркалом самого себя?
    • Награды КМС поисковой оптимизации
По стоимости хороши цены у recipdonor.com (RDS бар).



Онлайн SevabАвтор темы

  • Администратор
  • Бизнес оценка: (6, 100%)
  • *****
  • СПАСИБО: 9944
  • Сообщений: 14631
  • Карма: 670
  • Пол: Мужской
    • Hosting & Domaining Forum

Онлайн SevabАвтор темы

  • Администратор
  • *****
domains_not_in_db

Это значит, что ни один из представленных доменов не присутствует в базе данных. Т.е. если запрос был всего по одному домену (можно до 50), то в случае отсутствия в БД, будет такой ответ. Если все 10 (или 50) отсутствуют, то тоже будет такой ответ. Если хоть один присутствует, то для отсутствующих будет no_in_db.


даже если в скрипт теперь вносил только один кириллический домен, который уже есть в базе, то все ОК

Да, все правильно. Хочу лишь пояснить, что запрашивать кириллические домены можно в любой форме. Например президент.рф или xn--d1abbgf6aiiy.xn--p1ai.
Скрипт и так и так поймет. Единственное, на кириллице нужно обязательно посылать запрос в utf-8 кодировке.
Ну и ответ всегда будет в utf-8. Поэтому если у вас другая кодировка, нужно конвертировать (в первом сообщении есть пояснения).


Хотелось бы еще получать дату получения этих показателей.

Спасибо за подсказку :). Наверное в ПРО версии сделаем, т.к. дата последней проверки есть БД.


А вообще я бы предложил сделать платным добавление сайтов на обновление, а получение этих показателей бесплатным. Как идея?

Идея хорошая, но нарушает основную идеологию сервиса. Все должно быть бесплатным. Мы и платность вводим не ради денег :). Ниже поясню.


По стоимости хороши цены у recipdonor.com

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

Хочу еще раз пояснить с платностью ПРО версии АПИ (в данной теме представлена обычная, бесплатная версия).
Во первых, будет (дней через 10-15) абсолютно бесплатный онлайн сервис получения и сравнения характеристик сайтов (до 50 ресурсов одновременно).
Т.е. это будет 100% совпадение с версией API-PRO. Поэтому любой желающий сможет получить совершенно бесплатно те же самые показатели, что и через АПИ-ПРО.

Раз такое дело, почему бы и АПИ-ПРО не сделать таким же бесплатным, как обычное апи, описанное в первом сообщении этой темы?
Потому что:
все кому не лень понаставят код на свои сайты, то это может вылиться во что-то подобное DDoS атакам

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

Как думаете, если за запрос по одному сайту (примерно 60-80 параметров) максимальная цена будет 5 копеек. И она будет падать (в зависимости от разовой оплаты) до минимальной в 2 копейки за один запрос по одному сайту.
Это нормальная цена будет?
Запросы по сайтам, которых нет в БД, естественно учитываться не будут.


« Последнее редактирование: 20-10-2013, 18:39:11 от Sevab »

Оффлайн remind4me

  • Бизнес оценка: (0)
  • КМС
  • *****
  • СПАСИБО: 874
  • Сообщений: 2875
  • Карма: 81
  • Пол: Мужской
  • Чужие ошибки мы видим сразу, а вот свои...
  • Награды КМС поисковой оптимизации
    • Заметки на память для вебмастера и не только

Оффлайн remind4me

  • КМС
  • *****
  • Доп. информация
    • Бизнес оценка: (0)
    • СПАСИБО: 874
    • Сообщений: 2875
    • Карма: 81
    • Пол: Мужской
    • Чужие ошибки мы видим сразу, а вот свои...
    • Награды КМС поисковой оптимизации
      • Заметки на память для вебмастера и не только
Это значит, что ни один из представленных доменов не присутствует в базе данных.
Я понял это еще перед тестами, почитав первое сообщение и комментарии в скрипте.

Единственное, на кириллице нужно обязательно посылать запрос в utf-8 кодировке.
Само собой, ведь и сам скрипт в кодировке utf-8, да в нем и вверху есть строка с намеком, что нужно кодировка utf-8.

Как думаете, если за запрос по одному сайту (примерно 60-80 параметров) максимальная цена будет 5 копеек. И она будет падать (в зависимости от разовой оплаты) до минимальной в 2 копейки за один запрос по одному сайту.
Это нормальная цена будет?
Да ну, Sevab, это же смешно - ставить цену нужно чуть побольше.
Если уж у кого-то куча сайтов, то однозначно у него и денежка есть.
Я не намекаю, что нужно косить деньги по максимуму, но просто думаю для Про версии (примерно 60-80 параметров, или может и больше будет) стоит сделать ставку побольше, чем 5 копеек.
Нуждающиеся в таком количестве характеристик возможно и сами донатить будут.


Оффлайн Robin Hood

  • Бизнес оценка: (0)
  • Пользователь
  • **
  • СПАСИБО: 34
  • Сообщений: 68
  • Карма: 7
  • Пол: Мужской

Оффлайн Robin Hood

  • Пользователь
  • **
Есть форма

<form>
<input type="text" id="analizer" />
<input type="button" value="Анилиз сайта" onClick="analizer()" />
</form>

Есть готовый код который вы привели в начале, как к нему обратиться с помощью формы?


Оффлайн remind4me

  • Бизнес оценка: (0)
  • КМС
  • *****
  • СПАСИБО: 874
  • Сообщений: 2875
  • Карма: 81
  • Пол: Мужской
  • Чужие ошибки мы видим сразу, а вот свои...
  • Награды КМС поисковой оптимизации
    • Заметки на память для вебмастера и не только

Оффлайн remind4me

  • КМС
  • *****
  • Доп. информация
    • Бизнес оценка: (0)
    • СПАСИБО: 874
    • Сообщений: 2875
    • Карма: 81
    • Пол: Мужской
    • Чужие ошибки мы видим сразу, а вот свои...
    • Награды КМС поисковой оптимизации
      • Заметки на память для вебмастера и не только
Robin Hood, в тэг <form> нужно добавить параметр "action"

-------
<form action="http://ваш-сайт/seobuilding-api.php" method="post" accept-charset="UTF-8">
-------

где seobuilding-api.php - это скрипт, содержащий запрос к API и вывод данных на кран (или в файл, как тебе угодно), т.е. к примеру готовый код, который приведен в пример в первом сообщении этой темы.
« Последнее редактирование: 26-10-2013, 12:09:20 от remind4me »


Оффлайн Robin Hood

  • Бизнес оценка: (0)
  • Пользователь
  • **
  • СПАСИБО: 34
  • Сообщений: 68
  • Карма: 7
  • Пол: Мужской

Оффлайн Robin Hood

  • Пользователь
  • **
Так выходит что инфа на момент проверки уже вполне может быть устаревшей? То есть это просто доступ к архиву данных?

Добавлено: 26-10-2013, 15:38:51

А как разобрать масив? Мне например подпись "yandex_tic" не нравится и я хочу переименовать в ТИЦ а не tic. как это сделать? Может кто статью по подробнее напишет?
« Последнее редактирование: 26-10-2013, 15:38:51 от Robin Hood »


 

Похожие темы

  Тема / Автор Ответов Последний ответ
780 Ответов
1151805 Просмотров
Последний ответ 29-10-2023, 13:05:15
от Владимир75
1 Ответов
11129 Просмотров
Последний ответ 07-05-2013, 13:54:12
от Sevab
3 Ответов
11618 Просмотров
Последний ответ 09-07-2013, 18:42:23
от GOLDBLOOD
8 Ответов
14253 Просмотров
Последний ответ 17-05-2016, 00:31:11
от Славик2407
2 Ответов
11200 Просмотров
Последний ответ 13-06-2015, 00:15:35
от Sevab