idealcms / yandex-xml
Un-Official Yandex-XML PHP library
2.0.2
2022-09-22 22:29 UTC
Requires
- php: >=5.6
- ext-curl: *
- ext-simplexml: *
Requires (Dev)
This package is auto-updated.
Last update: 2024-04-23 02:12:51 UTC
README
Пакет для работы с поисковым сервисом Яндекс.XML.
Установка
Данную бибилотеку можно установить с помощью менджера пакетов composer:
composer require anton-shevchuk/yandex-xml-library
Использование
<?php require_once 'vendor/autoload.php'; use AntonShevchuk\YandexXml\Client; use AntonShevchuk\YandexXml\Request; use AntonShevchuk\YandexXml\Response; use AntonShevchuk\YandexXml\Exceptions\YandexXmlException; $request = Client::request('your-user-in-yandex-xml', 'your-key-yandex-xml'); try { $response = $request ->query('What is github query') // запрос к поисковику ->lr(2) // id региона в Яндекс {@link http://search.yaca.yandex.ru/geo.c2n} ->page('Начать со страницы. По умолчанию 0 (первая страница)') ->limit(100) // Количество результатов на странице (макс 100) ->proxy('host или ip', 'port', 'user, если требуется авторизация', 'pass, если требуется авторизация') // Если требуется проксирование запроса ->send() // Возвращает объект Response ; foreach ($response->results() as $i => $result) { echo $result->url; echo $result->domain; echo $result->title; echo $result->headline; echo sizeof($result->passages); } } catch (YandexXmlException $e) { echo "\nВозникло исключение YandexXmlException:\n"; echo $e->getMessage() . "\n"; } catch (Exception $e) { echo "\nВозникло неизвестное исключение:\n"; echo $e->getMessage() . "\n"; } /** * Возвращает массив с результатами * * $results является массивом из stdClass * Каждый элемент содержит поля: * - url * - domain * - title * - headline * - passages */ $results = $response->results(); /** * Возвращает строку "Нашлось 12 млн. результатов" */ $total = $response->totalHuman(); /** * Возвращает integer с общим количеством страниц результатов */ $pages = $response->pages();