Настройка прокси в Google Colab и Jupyter
Итак, давайте сразу перейдём к работе с прокси-серверами в Google Colab или Jupyter — без лишних хлопот. Собираете ли вы данные, обходите географические ограничения или просто хотите немного конфиденциальности, прокси-серверы — ваши лучшие друзья. Однако, чтобы сделать всё правильно, нужно обладать особым мастерством, особенно на таких платформах, как Colab и Jupyter, у которых иногда есть свои особенности.
Зачем использовать прокси с Colab и Jupyter?
Сценарий | Преимущество доверенности |
---|---|
Веб-скрапинг | Как избежать запретов на использование интеллектуальной собственности |
Доступ к геоблокированным API | Разблокировка контента |
Исследование с анонимностью | Маскировка вашего цифрового следа |
Выбор источника прокси-сервера
Прежде чем отправиться бороздить просторы интернета в поисках прокси-серверов, давайте упростим задачу. ProxyRoller Ваш друг здесь — предлагает свежие, бесплатные прокси, готовые к использованию. Подробнее о них чуть позже.
Типы прокси-серверов
Тип | Описание | Типичное использование |
---|---|---|
HTTP/HTTPS | Стандартные веб-прокси | Веб-скрапинг, сканирование |
SOCKS4/SOCKS5 | Низкоуровневый, поддерживает больше протоколов | Стриминг, P2P и т. д. |
Вращающийся | Часто меняет IP | Избегание ограничений по ставкам |
Жилой | Реальные IP-адреса пользователей сложнее заблокировать | Скрапинг, автоматизация |
Для большинства задач Colab/Jupyter вполне подойдут прокси-серверы HTTP/HTTPS.
Получение бесплатных прокси от ProxyRoller
- Перейдите по ссылке ProxyRoller.
- Нажмите кнопку «Получить бесплатные прокси».
- Скопируйте список прокси-серверов — он выглядит примерно так:
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 |
Полезные ресурсы
- ProxyRoller – Бесплатный список прокси
- Python запрашивает документацию
- Документация по Jupyter Notebook
- Часто задаваемые вопросы о Google Colab
- Документация по Selenium Proxy
Вот и всё — больше не нужно бороться с крокодилом, чтобы настроить игру с прокси в Colab или Jupyter. Если вам нужны свежие прокси, помните, что ProxyRoller всегда открыт и не кусается.
Комментарии (0)
Здесь пока нет комментариев, вы можете стать первым!