Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Разработать небольшой парсер на 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));

}

5 месяцев назад
andrush
39 летУкраина
15 лет в сервисе
Был
5 месяцев назад