Как использовать прокси с Google Colab и Jupyter

Как использовать прокси с Google Colab и Jupyter

Настройка прокси в Google Colab и Jupyter

Итак, давайте сразу перейдём к работе с прокси-серверами в Google Colab или Jupyter — без лишних хлопот. Собираете ли вы данные, обходите географические ограничения или просто хотите немного конфиденциальности, прокси-серверы — ваши лучшие друзья. Однако, чтобы сделать всё правильно, нужно обладать особым мастерством, особенно на таких платформах, как Colab и Jupyter, у которых иногда есть свои особенности.


Зачем использовать прокси с Colab и Jupyter?

Сценарий Преимущество доверенности
Веб-скрапинг Как избежать запретов на использование интеллектуальной собственности
Доступ к геоблокированным API Разблокировка контента
Исследование с анонимностью Маскировка вашего цифрового следа

Выбор источника прокси-сервера

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


Типы прокси-серверов

Тип Описание Типичное использование
HTTP/HTTPS Стандартные веб-прокси Веб-скрапинг, сканирование
SOCKS4/SOCKS5 Низкоуровневый, поддерживает больше протоколов Стриминг, P2P и т. д.
Вращающийся Часто меняет IP Избегание ограничений по ставкам
Жилой Реальные IP-адреса пользователей сложнее заблокировать Скрапинг, автоматизация

Для большинства задач Colab/Jupyter вполне подойдут прокси-серверы HTTP/HTTPS.


Получение бесплатных прокси от ProxyRoller

  1. Перейдите по ссылке ProxyRoller.
  2. Нажмите кнопку «Получить бесплатные прокси».
  3. Скопируйте список прокси-серверов — он выглядит примерно так: ip:port.

Маленький совет от австралийцев: проверяйте свои прокси-серверы, потому что бесплатные прокси-серверы могут быть непредсказуемыми, как погода в Мельбурне.


Настройка прокси в Google Colab

Colab работает в виртуальной машине, поэтому вам нужно указать Python (и связанным библиотекам) использовать прокси-сервер. Вот как это сделать, в стиле Arvid:

Настройка HTTP/HTTPS-прокси для requests

import requests

proxies = {
    'http': 'http://username:password@proxy_ip:proxy_port',
    'https': 'http://username:password@proxy_ip:proxy_port'
}

response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())
  • Если ваш прокси-сервер не требует аутентификации, не указывайте username:password@.

Глобальная настройка прокси-серверов в Notebook

Иногда нужно, чтобы всё проходило через прокси-сервер. Установите переменные окружения:

import os

os.environ['http_proxy'] = 'http://proxy_ip:proxy_port'
os.environ['https_proxy'] = 'http://proxy_ip:proxy_port'

Теперь любая библиотека, которая учитывает эти переменные среды (requests, urllib и т. д.), будет использовать прокси.

Ротация прокси-серверов

Если вы парите как динго на птицеферме, меняйте прокси, чтобы избежать банов:

import random

proxy_list = [
    'http://ip1:port1',
    'http://ip2:port2',
    'http://ip3:port3'
]

def get_random_proxy():
    return {'http': random.choice(proxy_list), 'https': random.choice(proxy_list)}

for i in range(10):
    proxies = get_random_proxy()
    response = requests.get('https://httpbin.org/ip', proxies=proxies)
    print(response.json())

Настройка прокси в Jupyter Notebook

Почти то же самое, что и Colab, приятель. Вот как это делается:

Для requests и urllib

import requests

proxies = {
    'http': 'http://proxy_ip:proxy_port',
    'https': 'http://proxy_ip:proxy_port'
}

response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())

Для общесистемного прокси (ядро Jupyter)

import os

os.environ['HTTP_PROXY'] = 'http://proxy_ip:proxy_port'
os.environ['HTTPS_PROXY'] = 'http://proxy_ip:proxy_port'

Для Selenium (Headless-браузеры)

Если вы используете Selenium в Jupyter (немного крутой ход):

from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType

proxy_ip_port = 'proxy_ip:proxy_port'

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={proxy_ip_port}')

driver = webdriver.Chrome(options=chrome_options)
driver.get('https://httpbin.org/ip')

Сравнение методов прокси

Метод Объем Инструменты/Библиотеки Вариант использования
requests прокси По запросу запросы, urllib3 Скрапинг, вызовы API
Переменные окружения Глобальный (сессия) Все библиотеки (большинство) Постоянное использование прокси
Selenium-прокси Автоматизация браузера селен Веб-автоматизация/скрапинг

Тестирование вашего прокси

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

import requests

proxies = {
    'http': 'http://proxy_ip:proxy_port',
    'https': 'http://proxy_ip:proxy_port'
}

response = requests.get('https://httpbin.org/ip', proxies=proxies)
print("Proxy IP:", response.json())

Если IP совпадает с прокси, то все отлично.


Распространенные ошибки (и быстрые решения)

Проблема Как это выглядит Как исправить
Истекло время ожидания соединения Запросы зависают, нет ответа Попробуйте другой прокси
Требуется аутентификация прокси-сервера 403/407 Ошибка аутентификации При необходимости используйте имя пользователя/пароль.
Прокси не работает в Colab Без изменений в IP, ошибки Проверьте переменные среды
Проблемы с SSL SSL-соединение не удалось Используйте HTTP или установите verify=False

Полезные ресурсы


Вот и всё — больше не нужно бороться с крокодилом, чтобы настроить игру с прокси в Colab или Jupyter. Если вам нужны свежие прокси, помните, что ProxyRoller всегда открыт и не кусается.

Арвид Варрал

Арвид Варрал

Ведущий сетевой архитектор

Арвид Уоррал, уроженец этой загорелой страны, является мозгом надежной и гибкой сетевой архитектуры ProxyRoller'. Обладая более чем двадцатилетним опытом в области цифровой безопасности и управления прокси-серверами, он сыграл важную роль в разработке систем, которые отвечают динамическим потребностям конфиденциальности и безопасности данных. Путь Арвида'в ProxyRoller начался как страстный технолог, и с тех пор его инновационные решения вывели компанию на передовые позиции в отрасли. В своей роли он стремится гарантировать, что предложения ProxyRoller' остаются передовыми и надежными для пользователей по всему миру.

Комментарии (0)

Здесь пока нет комментариев, вы можете стать первым!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *