Парсер Яндекс Вебмастера и Метрики по API скрипт на PHP
Разработать небольшой парсер на PHP, который, используя API, сможет взаимодействовать с аккаунтами Яндекс Метрики и Яндекс Вебмастера. Задача парсера - извлечь ключи (поисковые фразы) для сайтов, добавленных в эти аккаунты с подтвержденными правами. Результат можно сохранять в виде JSON-массива, размещенного в отдельной папке для каждого сайта.
ПРИМЕРНАЯ СТРУКТУРА PHP СКРИПТА
// Функция для запросов к API
function makeApiRequest($url, $apiKey) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: OAuth ' . $apiKey));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// Функция для получения ключей для Яндекс Метрики
function getYandexMetrikaKeys($apiKey) {
$url = 'https://api-metrika.yandex.net/management/v1/counters';
$response = makeApiRequest($url, $apiKey);
return $response['counters'];
}
// Функция для получения ключей для Яндекс Вебмастера
function getYandexWebmasterKeys($apiKey) {
$url = 'https://webmaster.yandex.ru/api/v4/user';
$response = makeApiRequest($url, $apiKey);
return $response['hosts'];
}
// Пример использования
$metrikaKeys = getYandexMetrikaKeys($metrikaApiKey);
$webmasterKeys = getYandexWebmasterKeys($webmasterApiKey);
// Сохранение результатов в виде JSON массива
foreach ($metrikaKeys as $metrikaKey) {
$siteId = $metrikaKey['id'];
$siteName = $metrikaKey['site'];
$data = array('metrika' => $metrikaKey, 'webmaster' => []);
// Проверка, есть ли сайт с таким же ID в Яндекс Вебмастере
foreach ($webmasterKeys as $webmasterKey) {
if ($webmasterKey['host_id'] == $siteId) {
$data['webmaster'] = $webmasterKey;
break;
}
}
// Сохранение в файл
$filename = 'path/to/folder/' . $siteName . '.json';
file_put_contents($filename, json_encode($data, JSON_PRETTY_PRINT));
}