Как обойти блокировку API запрещенных сервисов с помощью скриптов R > NetPeak - Независимость и осознанность
NetPeak Biz Tech    


Как обойти блокировку API запрещенных сервисов с помощью скриптов R

Как обойти блокировку API запрещенных сервисов с помощью скриптов R

< >

Несмотря на блокировку различных сервисов, онлайн-бизнесу они жизненно необходимы, особенно — их интеграция по API. В этой статье я расскажу, как обойти блокировку API запрещенных сервисов в скриптах R и продолжать использовать пакеты ryandexdirect, rvkstat, rmytarget, googlesheets, RGA и bigrquery. Это позволит использовать API Google ***ytics, Google Sheets, Google BigQuery (актуально для РФ) и ВК, Яндекс.Директ, myTarget (актуально для Украины).

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

1. Найдите любой сервис, генерирующий списки доступных прокси (например, https://hidemy.name/ru/proxy-list/).

2. Выберите в фильтре тип прокси, поддерживающий HTTPS.

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

4. Далее понадобятся только IP-адрес и порт прокси сервера (обычно использую сервера с портом 3128):

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

Sys.setenv(https_proxy=\"https://104.37.212.5:3128\")

6. Пишем код обращения к API (пример — чуть дальше).

7. Добавляем строку для отключения интернет-соединения от прокси-сервера:

Sys.unsetenv(\"https_proxy\")

8. Если прокси-сервер требует прохождения аутентификации, можете указать имя пользователя и пароль:

Sys.setenv(https_proxy=\"https://user:password@proxy_server:port\")

9. Проверьте, установлена ли настройка соединения — введите в R консоль комaнду:

Sys.getenv(\"https_proxy\")

В ответ на эту комaнду в консоли появится запись:

[1] \"https://104.37.212.5:3128\"

Это значит, что соединение через прокси установлено успешно.

Создать обращение к API Google ***ytics через прокси-сервер

#Установка пакетовinstall_github(\\\'artemklevtsov/RGA\\\') #Подключаем пакет RGAlibrary(RGA)#ID представления из которого необходимо получить данные ga_view_id <- \"ga:1111111111\"#Направляем интернет-соединение через прокси-сервер, IP и порт которого мы получили на предыдущем шагеSys.setenv(https_proxy=\"https://104.37.212.5:3128\") #Аутентификация в Google ***yticsauthorize()#Запрашиваем данные из Google ***yticsga_data <-get_ga(profileId = ga_view_id, start.date = \"8daysAgo\", end.date = \"yesterday\", dimensions = \"ga:date\", metrics = \"ga:impressions, ga:adClicks, ga:adCost, ga:sessions, ga:bounces, ga:transactions\")#Отключаемся от прокси-сервераSys.unsetenv(\"https_proxy\")

Создать обращение к API Яндекс.Директ через прокси-сервер

Перед использованием приведенного ниже кода необходимо установить пакеты devtools и ryandexditrect:

install.packages(\"devtools\")library(devtools)install_github(\\\'selesnow/ryandexdirect\\\')

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

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

#Подключаем пакет ryandexdirectlibrary(ryandexdirect)#Получаем API токенmyToken <- yadirGetToken()#Направляем интернет-соединение через прокси-сервер, IP и порт которого мы получили на предыдущем шагеSys.setenv(https_proxy=\" https://104.37.212.5:3128\")#Обращаемся к API Яндекс.ДиректMy_report <- yadirGetReport(ReportType = \"CAMPAIGN_PERFORMANCE_REPORT\", DateRangeType = \"CUSTOM_DATE\", DateFrom = \\\'2017-01-01\\\', DateTo = \\\'2017-01-31\\\', Login = <YourLogin>, Token = myToken)#Отключаемся от прокси-сервераSys.unsetenv(\"https_proxy\")

Как автоматизировать получение IP и порта прокси-сервера?

Если установить ещё несколько пакетов и немного дописать код, процесс получения IP-адреса и порта бесплатного прокси-сервера можно полностью автоматизировать.

Дело в том, что сервис GimmeProxy API предоставляет возможность загрузки IP адреса и порта с помощью API.

Во-первых, необходимо установить пакеты RCurl и jsonlite:

#Установка пакетовif(!\"RCurl\" %in% installed.packages()[,1]) {install.packages(\"RCurl\")}if(!\"jsonlite\" %in% installed.packages() [,1]){install.packages(\"jsonlite\")}#Подключаем пакетыlibrary(RCurl) library(jsonlite)library(ryandexdirect)#Запрашиваем IP-адрес и портproxy_list_raw <- getURL(\"https://gimmeproxy.com/api/getProxy?supportsHttps=true&port=3128\") #Сохраняем IP-адрес и порт в переменную для использования в кодеproxy_ip_port <- fromJSON(proxy_list_raw)#Направляем интернет-соединение через прокси-сервер Sys.setenv(https_proxy=proxy_ip_port)#Получаем API токенmyToken <- yadirGetToken() #Обращаемся к API Яндекс.ДиректMy_report <- yadirGetReport(ReportType = \"CAMPAIGN_PERFORMANCE_REPORT\", DateRangeType = \"CUSTOM_DATE\", DateFrom = \\\'2017-01-01\\\', DateTo = \\\'2017-01-31\\\', FieldNames = c(\"CampaignName\",\"Impressions\",\"Clicks\"), Login = <YourLogin>, Token = myToken) #Отключаемся от прокси-сервераSys.unsetenv(\"https_proxy\")

Вначале по API мы запрашиваем IP-адрес и порт прокси-сервера с помощью функции getURL из пакета Curl, далее конвертируем её в объект-лист с помощью функции fromJSON, доступной в пакете jsonlite, и, наконец, сохраняем IP-адрес и порт в переменную proxy_ip_port. Затем эту переменную используем в коде в качестве аргумента функции Sys.setenv.

Как вы понимаете, все бесплатное работает не так стабильно, как хотелось бы, поэтому в качестве недорогой но стабильно работающей и значительно более гибкой в настройках альтернативы рекомендую купить доступ к API у HideMy.name. Запросите доступ к API в этойформе.

Актуальную стоимость доступа к API можно узнать по этой ссылке.

Как автоматизировать получение IP-адреса, порта прокси-сервера и запуск необходимых настроек с помощью пакета getProxy

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

Чтобы упростить работу с бесплатными сервисами, предоставляющими IP и порт прокси-серверов, я написал пакет getProxy. С его помощью вы в одной строке кода можете автоматически запрашивать IP-адрес и порт прокси, применять к запросу фильтры по порту, странам и типу прокси-сервера, а также сразу внедрять полученные настройки.

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

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

Установите пакет из репозитория GitHub:

if(!\"devtools\" %in% installed.packages()[,1]){install.packages(\"devtools\")}library(devtools)install_github(\"selesnow/getProxy\")

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

  • country — код страны в формате ISO 3166-1 alpha-2. Коды всех стран можно найти здесь.
  • notCountry — код страны, по которой не надо запрашивать настройки прокси-сервера, в формате ISO 3166-1 alpha-2.
  • supportsHttps — логическое значение TRUE или FALSE, используется для фильтрации прокси-серверов по поддержке протокола https.
  • port — номер порта для фильтрации прокси-серверов.
  • type — тип протокола прокси-сервера, поддерживает возможные значения «http», «socks4», «socks5».
  • action — действие, которое необходимо выполнить: start, чтобы получить и сразу направить интернет-соединение через прокси-сервер, get — если хотите получить IP-адрес и порт прокси-сервера, но не применять эти настройки, stop — если хотите отключиться от прокси-сервера.

Пример использования функции getProxy

Чтобы автоматизировать процесс получения IP-адреса и порта прокси-сервера и сохранения его в объект без перенаправления интернет-соединения, достаточно в аргументе action установить значение get.

prox_ip_and_port <- getProxy(port = \"3128\", country = \"RU\", action = \"get\")

Если хотите получить IP-адрес и порт прокси-сервера, а также одновременно применить полученные настройки, в аргумент action передайте значение start.

prox_ip_and_port <- getProxy(port = \"3128\", country = \"RU\", supportsHttps = TRUE, action = \"start\")

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

getProxy(action = \"stop\")

Пример обращения к API Google ***ytics через прокси-сервер с помощью пакета getProxy

# подключаем библиотекиlibrary(getProxy)library(RGA)# аутентификация в Google ***yticsauthorize()# ID представления из которого необходимо получить данныеga_view_id <- \"ga:1111111111\" # Перенаправляем соединение через Proxy серверgetProxy(supportsHttps = T, country = \"us\", type = \"http\", action = \"start\")# Запрашиваем данные из Google ***yticsga_data <-get_ga(profileId = ga_view_id, start.date = \"8daysAgo\", end.date = \"yesterday\", dimensions = \"ga:date\", metrics = \"ga:impressions, ga:adClicks, ga:adCost, ga:sessions, ga:bounces, ga:transactions\")# Отключаемся от Proxy сервераgetProxy(action = \"stop\")

Как получить данные из Google ***ytics в R и загрузить в Power BI Ранее я описывал дополнительные примеры кода на на языке R по работе с API Google ***ytics.

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

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

#Подключаем пакетыlibrary(ryandexdirect)library(getProxy)#Запрашиваем IP-адрес и порт и применяем полученные настройкиgetProxy(port = \"3128\", country = \"RU\", supportsHttps = TRUE, action = \"start\")#Получаем API токенmyToken <- yadirGetToken()#Обращаемся к API Яндекс.ДиректMy_report <- yadirGetReport(ReportType = \"CAMPAIGN_PERFORMANCE_REPORT\", DateRangeType = \"CUSTOM_DATE\", DateFrom = \\\'2017-01-01\\\', DateTo = \\\'2017-01-31\\\', FieldNames = c(\"CampaignName\",\"Impressions\",\"Clicks\"), Login = <YourLogin>, Token = myToken)#Отключаемся от прокси-сервераgetProxy(action = \"stop\")

Этот код при каждом запуске будет автоматически запрашивать настройки доступного прокси-сервера и применять их.

Выводы

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

Немного дописав скрипт, вы сможете беспрепятственно получать данные из API необходимых сервисов. В большинстве случаев будет достаточно бесплатных API-сервисов, для работы с которыми я написал пакет getProxy.

Язык R в интернет-маркетинге — дайджест полезных публикаций Читайте также о методах использования языка R в интернет-маркетинге.

Надеюсь, пост поможет вам спокойно работать в привычных сервисах, невзирая на внешние обстоятельства.



Комментарии:

Работа с автоматическими типами кампаний на Facebook

Работа с автоматическими типами кампаний на Facebook Как вести рекламные кампании и что делать на разных этапах настройки. Делимся опытом: примерами, кейсами и рекомендациями. Узнать больше и настроить свои РК, как боженька!...

23 05 2025 2:50:10

Продвижение сайта VIN-кодов в США по низкочастотным запросам: рост трафика на 681% за 6 месяцев

Продвижение сайта VIN-кодов в США по низкочастотным запросам: рост трафика на 681% за 6 месяцев Кейс SEO-продвижения в США: рост трафика сайта с помощью низкочастотных запросов....

22 05 2025 4:17:40

Как продвигаться в Instagram, если у вас B2B-бизнес

Как продвигаться в Instagram, если у вас B2B-бизнес Распространенные ошибки продвижения B2B-компаний + стратегии того, как наращивать число активных подписчиков и потенциальных клиентов....

21 05 2025 16:36:22

Владимир Меркушев о фишках Казнета и рецепте успеха в сети

Об особенностях реализации интернет-проектов в Великобритании, России и Казахстане и фишках успешного ведения бизнеса онлайн мы побеседовали с Владимиром Меркушевым — руководителем интернет-проектов успешной казахстанской компании Kolesa.kz....

20 05 2025 22:27:20

Особенности контекстной рекламы для 5 ниш бизнеса. Тематические стратегии Netpeak

Особенности контекстной рекламы для 5 ниш бизнеса. Тематические стратегии Netpeak Что учитывать при продвижении недвижимости, клиник красоты, магазинов косметики, сайтов по продаже семян, шин?...

19 05 2025 3:17:55

Что такое VPN-соединение и как им пользоваться

Что такое VPN-соединение и как им пользоваться VPN — технология анонимного сетевого подключения. Она позволяет организовать подсеть в уже существующем соединении. Поверхностная сеть закрыта от внешнего доступа, потому вмешаться в нее не смогут. Чтобы узнать больше, читайте дальше!...

18 05 2025 2:20:33

Анализ пути в Google ***ytics 4: как ускорить процесс покупки на сайте

Анализ пути в Google ***ytics 4: как ускорить процесс покупки на сайте Анализ пути — это как многокaнaльные последовательности в Universal ***ytics, только лучше....

17 05 2025 12:47:47

Кейс по SEO-продвижению магазина сантехники, садовой техники, электроинструментов: ROMI 4157%

Изначально необходимо планировать продолжительное сотрудничество с агентством для достижения поставленных целей. В своей стратегии мы использовали сезонность, чтобы достичь максимальных результатов для клиента...

16 05 2025 1:51:10

Самые распространенные SEO-ошибки

Самые распространенные SEO-ошибки В ТОПе ошибок — метатеги, разметка, заголовки h1-h6 и внутренние ссылочные факторы....

15 05 2025 12:30:37

Как создать объявление в поиске картинок Google

Как добавить свою рекламу через поисковый сервис с картинками в Google....

14 05 2025 0:44:48

Что работает в 2019 году: кейсы и рекомендации спикеров 8P

Что работает в 2019 году: кейсы и рекомендации спикеров 8P Читать только интернет-маркетологам, SMM, PPC и SEO-специалистам....

13 05 2025 17:42:33

Что такое метавселенная и когда она станет реальной

Что такое метавселенная и когда она станет реальной Microsoft, Facebook и другие технологические компании заявляют, что метавселенная — это будущее интернета. Или настоящее? Давайте разберемся...

12 05 2025 8:24:12

Как работать с Яндекс.Вебвизор 2.0

Как работать с Яндекс.Вебвизор 2.0 Бета-версия помогает записывать действия пользователей на сайте и благодаря этому улучшать удобство использования сайта и в перспективе растить продажи. Узнать больше!...

11 05 2025 14:50:28

Три уровня оптимизации рекламной кампании в Google Ads

Предположим, что оптимизация в аккаунте похожа на реальный мир и рассмотрим несколько примеров :)...

10 05 2025 14:35:24

Как использовать холодную рассылку для поиска инвесторов — советы стартапам

Как владельцу стартапа пробиться сквозь сотни ежедневных сообщений, которые получает инвестор, создать эффективную цепочку писем и быть замеченным...

09 05 2025 10:57:58

Как стать хорошим SMM-специалистом

Как стать хорошим SMM-специалистом SMM — сфера с доступным обучением и большими деньгами, а хороших специалистов разбирают, как горячие пирожки. SMMщики работают с крупными брендами и создают свой бизнес всего через пару лет после старта....

08 05 2025 23:40:50

Рэнд Фишкин: о трендах SEO и работе волшебника страны Moz

Рэнд Фишкин: о трендах SEO и работе волшебника страны Moz Экс-CEO, а теперь просто сотрудник и «волшебник страны Moz» Рэнд Фишкин поделился с читателями блога рассказом о своем видении будущего SEO, перспективах анонимизации сети и причудах американских клиентов....

07 05 2025 19:32:54

Как использовать аналитику, чтобы не расходовать рекламный бюджет впустую

4 кейса с шагами, рекомендациями и результатами, которые помогут грамотно распределить средства на рекламу....

06 05 2025 12:44:44

Перформанс так перформанс: мы запускаем SMM

Перформанс так перформанс: мы запускаем SMM Новая услуга от Netpeak по ведению Instagram и Facebook...

05 05 2025 13:43:33

Реклама в Telegram — кому она нужна. Мнение эксперта

Реклама в Telegram — кому она нужна. Мнение эксперта 160 символов — размер рекламного сообщения, 2 млн евро — минимальный бюджет для запуска. Уже интересно?...

04 05 2025 7:56:39

Кто такой аккаунт-менеджер Netpeak

Кто такой аккаунт-менеджер Netpeak Аккаунт менеджеры это... Быть лицом компании, проводником между заказчиком и комaндой агентства, ментором для коллег и суперменом, готовым прийти на помощь клиенту в любой час дня и ночи… Эти задачи по плечу аккаунт-менеджерам Netpeak...

03 05 2025 16:40:21

Как установить пиксель Facebook и Instagram — отслеживаем целевые действия

Как установить пиксель Facebook и Instagram — отслеживаем целевые действия Пиксель Facebook — инструмент аналитики рекламной системы, который можно использовать и для Instagram....

02 05 2025 8:51:41

Мир К-pор: механика фанатских соцсетей — от популярности к монетизации

K-pop заpaбатывает деньги: как и сколько...

01 05 2025 5:53:31

Качество связи в телефонии для продаж — как проверить и исправить

Качество связи в телефонии для продаж — как проверить и исправить Какую связь можно назвать «качественной» и как улучшить работу телефонии — советы от платформы Ringostat в новом посте....

30 04 2025 0:42:46

8 сервисов автопроверки on-page ошибок

Платные и бесплатные способы ускорить оптимизацию....

29 04 2025 13:46:57

Как правильно «закрывать» свой сайт

Как правильно «закрывать» свой сайт Сотрудник Google расскажет о том, как присоединиться к протесту, не навредив сайту....

28 04 2025 16:32:47

Язык R в веб-аналитике и интернет-маркетинге — интервью с Алексеем Селезневым

Зачем маркетологи и аналитики обращаются к языку программирования R в повседневной работе нужно и какая польза от программирования на R в интернет-маркетинге в интервью Алексея Селезнева...

27 04 2025 7:41:46

Как компании контролируют сотрудников в соцсетях. Три кейса

Как компании контролируют сотрудников в соцсетях. Три кейса К социальным сетям уже нельзя относиться, как к сугубо личному прострaнcтву?...

26 04 2025 11:23:45

Google Колибри — все, что вы хотели знать о новом алгоритме

Мы решили определить и раскрыть самые популярные вопросы по работе нового алгоритма Google Колибри...

25 04 2025 17:48:17

Как перейти на HTTPS за 12 часов и сохранить трафик

Как перейти на HTTPS за 12 часов и сохранить трафик Как перенести сайт с http на https и сохранить трафик, потратив минимум времени....

24 04 2025 2:32:58

SEO-среда: Основные инструменты веб-мастера

SEO-среда: Основные инструменты веб-мастера Пройдем вместе путь вебмастера от первых шагов и до вершины ТОПа :)...

23 04 2025 9:46:34

Grammar nazi псто: Интернет или интернет

Grammar nazi псто: Интернет или интернет Как правильно писать нарицательное слово «интернет»....

22 04 2025 2:23:28

Самые «нелепые» идеи успешных стартапов

Самые «нелепые» идеи успешных стартапов 2 любопытные истории и 8 успешных стартапов, которые вас удивят....

21 04 2025 18:27:44

Как без ошибок объединять данные в Google Data Studio

Как без ошибок объединять данные в Google Data Studio Продолжаем разговор о том, почему функция «Совмещение данных» в Google Data Studio может работать не так, как вы ожидаете....

20 04 2025 13:40:48

Есть идея для бизнеса. С чего стоит начать?

Есть идея для бизнеса. С чего стоит начать? Руководство к действию от основателя Netpeak Group....

19 04 2025 13:32:16

Реклама в Facebook, Instagram и ВКонтакте — размеры баннеров

Реклама в Facebook, Instagram и ВКонтакте — размеры баннеров Шпаргалка по размерам креативов для всех, кто запускает рекламу в соцсетях...

18 04 2025 7:25:21

15 примеров удачных маркетинговых онлайн-активностей к Новому году

15 примеров удачных маркетинговых онлайн-активностей к Новому году Адвент-календарь, конкурсы и викторины, праздничные линейки товаров, подборки подарков для родных и близких, опросы, тесты и другие интересности. Используйте, если нужны идеи и вдохновение....

17 04 2025 14:22:35

Анализ сезонности на примере ниши доставки цветов

Анализ сезонности на примере ниши доставки цветов Занимайтесь оптимизацией определенной категории товаров за полгода до скачка спроса....

16 04 2025 21:39:54

Лучшие дополнения для Google Docs

Лучшие дополнения для Google Docs Оптимизация и оформление вордовских текстов, переводчик, совместное редактирование, возможность залить картинку... Эти и много других опций дают дополнения для Google Документов....

15 04 2025 1:35:40

Epic vs Apple — первый раунд битвы

Epic vs Apple — первый раунд битвы Следим за развитием событий и анализируем решение суда. Читать дальше!...

14 04 2025 21:34:58

20 фактов о развитии мобильных приложений — инфографика

20 фактов о развитии мобильных приложений — инфографика Рынок мобильных приложений и его глобальные тренды из исследования App Annie...

13 04 2025 2:49:24

Алгоритмы соцсетей — зло. Так считает экс-президент Facebook и вот почему

Алгоритмы соцсетей — зло. Так считает экс-президент Facebook и вот почему Создатели алгоритмов соцсетей используют слабые места человеческого мозга. Случайно или намеренно, но они это делают. Как нам с этим жить?...

12 04 2025 16:11:41

Фокус, обучение, контроль — три кита развития бизнеса. Хасан Исламов об истории Chocofamily

Фокус, обучение, контроль — три кита развития бизнеса. Хасан Исламов об истории Chocofamily Хасан Исламов о развитии Chocofamily, крупнейшего интернет-холдинга Казахстана....

11 04 2025 1:37:53

CEO of Ringostat Александр Максименюк: кому и зачем нужен Call Tracking

CEO of Ringostat Александр Максименюк: кому и зачем нужен Call Tracking 79% владельцев смартфонов, если верить Google, используют их для покупок или заказов услуг. Это более двух миллиардов человек. Ничего удивительного, что даже Google запустил собственный сервис Call Tracking. Кому и зачем жизненно важно отслеживать звонки...

10 04 2025 18:19:29

Кейс Videonabliudenie.eu: рост количества звонков на 107% за 6 месяцев

Кейс Videonabliudenie.eu: рост количества звонков на 107% за 6 месяцев Повышение эффективности продаж через звонки с помощью call tracking....

09 04 2025 1:47:38

Как продвигать бизнес в Казнете — интервью с Бауыржаном Токтагазы

Как продвигать бизнес в Казнете — интервью с Бауыржаном Токтагазы Актуальный обзор особенностей работы онлайн-проектов в Казахстане...

08 04 2025 7:17:21

Сeкc и эpoтика, магия, тренер-олень, и даже ребус! Апрельская реклама с блоком 18+

Чем шокировала, радовала и удивляла реклама в социальных сетях и контекстная в Google в апреле 2021 года...

07 04 2025 14:40:19

Как оптимизировать контент: title, h1, description, keywords

Как оптимизировать контент: title, h1, description, keywords Грамотно оформленные метатеги презентуют сайт, помогают пользователям быстро найти нужную информацию, а поисковым системам — повысить ресурс в выдаче...

06 04 2025 19:28:31

Сколько стоил клик в Google Ads и Facebook в Украине в третьем квартале 2017

Сколько стоил клик в Google Ads и Facebook в Украине в третьем квартале 2017 Данные по более 26 млн кликов в 23 тематиках и 402 городах Украины...

05 04 2025 7:47:27

Дополнительные функции Zoom

Дополнительные функции Zoom Как обойти «Зал ожидания» и другие неочевидные фишки...

04 04 2025 12:39:16

Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::