Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bubnov-mikhail/yandex-xml-library

Класс для работы с поисковым сервисом Яндекс.XML
https://github.com/bubnov-mikhail/yandex-xml-library

Last synced: 2 months ago
JSON representation

Класс для работы с поисковым сервисом Яндекс.XML

Awesome Lists containing this project

README

        

# YandexXml

Пакет для работы с поисковым сервисом Яндекс.XML.

Форк https://github.com/AntonShevchuk/yandex

* Подготовлен к использованию через Composer (добавлен composer.json, заданы требования)
* Определен автолоадер (согласно psr-4)
* Класс переименован в YandexXmlClient и перемещен в namespace AntonShevchuk\YandexXml
* Добавлен AntonShevchuk\YandexXml\Exceptions\YandexXmlException (выбрасывается в методе _checkErrors)
* Добавлены методы для проксирования запроса (если сервер с приложением не расположен на ip, заданном в настройках yandex.xml)
* Добавлены Геттеры

1) Установка
----------------------------------

git clone [email protected]:bubnovKelnik/sitebeat.git
composer install --no-dev

2) Использование
-------------------------------------
```php
setQuery('What is github query') //запрос к поисковику
->setLr($lr) //id региона в Яндекс
->setPage('Начать со страницы. По умолчанию 0 (первая страница)')
->setLimit(100) //Количество результатов на странице (макс 100)
->setProxy('host или ip', 'port', 'user, если требуется авторизация', 'pass, если требуется авторизация') //Если требуется проксирование запроса
->request()
->getResults() //Возвращает массив из stdClass
;
}
catch (YandexXmlException $e) {
echo "\nВозникло исключение YandexXmlException:\n";
echo $e->getMessage() . "\n";
}
catch (Exception $e) {
echo "\nВозникло неизвестное исключение:\n";
echo $e->getMessage() . "\n";
}

/**
* Возвращает строку "Нашлось 12 млн. результатов"
*/
$total = $yandexXml->getTotalHuman();

/**
* Возвращает integer с общим количеством страниц результатов
*/
$pages = $yandexXml->getPages();
```