Як використовувати проксі в скриптах r обходимо блокування api яндекса, і вконтакте

Якщо ви з України і до 16 травня використовували API Яндекса, Mail.Ru і ВКонтакте, то після цієї дати, очевидно, зіткнулися з певними труднощами. У цій статті я розповім, як обійти блокування API заборонених сервісів в скриптах R і продовжувати використовувати пакети ryandexdirect. rvkstat або rmytarget.

Обхід блокування в напівавтоматичному режимі

2. Виберіть у фільтрі тип проксі, що підтримує HTTPS.

Як використовувати проксі в скриптах r обходимо блокування api яндекса, і вконтакте

3. Сформуйте список доступних проксі-серверів.

Як використовувати проксі в скриптах r обходимо блокування api яндекса, і вконтакте

5. Наприклад, візьмемо американський сервер, який з третього рядка списку IP 104.37.212.5, порт 3128. У код R необхідно направити інтернет-з'єднання через проксі-сервер, для цього додаємо в код рядок:

6. Пишемо код звернення до API (приклад - трохи далі).

7. Додаємо рядок для відключення інтернет-з'єднання від проксі-сервера:

8. Якщо проксі-сервер вимагає проходження аутентифікації, можете вказати ім'я користувача і пароль:

9. Переконайтеся, що налаштування з'єднання - введіть в R консоль команду:

У відповідь на цю команду в консолі з'явиться запис:

Це означає, що з'єднання через проксі встановлено успішно.

Звернення до API Яндекс.Директ через проксі-сервер

Перед використанням наведеного нижче коду необхідно встановити пакети devtools і ryandexditrect:

Для отримання API токена необхідно встановити одне з розширень для браузера, який дозволяє обійти блокування сайтів. Можете встановити Proxy for Chrome. наприклад.

Тепер можна використовувати наступний код на мові R, підставляючи в аргументи функцій свої значення:

Як автоматизувати отримання IP і порт проксі-сервера?

По-перше, необхідно встановити пакети RCurl і jsonlite:

Як ви розумієте, все безкоштовне працює не так стабільно, як хотілося б, тому в якості недорогий але стабільно працюючої і значно більш гнучкою в налаштуваннях альтернативи рекомендую купити доступ до API у HideMy.name. Запитайте доступ до API в цій формі.

Актуальну вартість доступу до API можна дізнатися за цим посиланням.

Код з попереднього пункту - робочий, він корисний для розуміння, як використовувати будь-API, за допомогою якого можна отримати IP і порт проксі-сервера.

На даний момент пакет містить всього одну функцію getProxy. Функція використовує два безкоштовних API-сервісу: gimmeproxy.com і getproxylist.com, звертаючись до них за IP і портом публічно доступних і безкоштовних проксі-серверів.

Установка пакета getProxy

Встановіть пакет з репозиторію GitHub:

Аргументи функції getProxy

Приклад використання функції getProxy

Якщо необхідно відключитися від проксі-сервера, досить передати в аргумент action значення stop.

Приклад звернення до API Яндекс.Директ через проксі-сервер за допомогою пакета getProxy

Перед запуском наведеного нижче коду у вас вже повинні бути встановлені пакети ryandexdirect і getProxy.

Цей код при кожному запуску буде автоматично запитувати настройки доступного проксі-сервера і застосовувати їх.

Для обходу блокування доступу до API в ваші скрипти на мові R досить додати всього два рядки і використовувати функції Sys.setenv і Sys.unsetenv.

Трохи дописавши скрипт, ви зможете безперешкодно отримувати дані з API Яндекс.Директ, Яндекс.Метрики, ВКонтакте і Mail.ru. У більшості випадків буде достатньо безкоштовних API-сервісів, для роботи з якими я написав пакет getProxy.

Читайте також про методи використання мови R в інтернет-маркетингу.