Привет всем! Сегодня мы разберемся с вопросом, который звучит как: «Python — как подключить прокси?». Зачем вам нужно прокси — решать вам. Ну, например вы хотите собрать данные с сайта, который не любит многочисленные соединения. Или еще зачем-то. Вообщем — вам нужно подключить прокси. Поехали!
Сам код, представленный ниже — будет выглядеть следующим образом:
1. Создаем соединение с сайтом, который показывает наш текущий IP
2. Выводим полученные данные, дабы убедиться, что все правильно
3. Подключаем прокси, и создаем соединение уже через него
4. Соединяемся с сайтом, который показывает наш текущий IP (теперь уже с учетом прокси :)) — и выводим полученные данные 🙂
Итак, для проверки нашего IP адреса будем использовать сайт 2ip.ru (очень даже неплох). Кроме этого — будем использовать поддельные заголовки браузера, что бы не палиться без надобности.
import requests #Подключаем библиотеку для обработки и создания запросов from bs4 import BeautifulSoup #подключаем библиотеку для удобной работы с поиском нужных данных на сайтах headers = ({'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/69.0'}) #Создали заголовок браузера ;)
Итак, у нас имеется: подключенные библиотеки + поддельный заголовок браузера. Теперь инициализируем соединение с сайтом, что бы получить наше текущее местоположение и IP:
get_location_link = 'https://2ip.ru' #Создаем переменнуюю, которая содержит ссылку на сайт, который определяет наш IP и местоположение response = requests.get(url=get_location_link, headers=headers) #Формируем переменную, которая состоит из ответа сайта (на который мы в качестве запроса отправили в том числе наш поддельный заголовок браузера) soup = BeautifulSoup(response.text, 'lxml') #Создали переменную, которая состоит из текста отзыва ip = soup.find('div', class_ = 'ip').text.strip() #В эту переменную загоняем наш адрес, который выдается сайтом 2ip.ru (он прячется в div, в классе ip) location = soup.find('div', class_ = 'value-country').text.strip() #А в этой переменной сохраняем местоположение (на сайте 2ip.ru оно показывается в div, в классе value-country) print(ip, ':', location) #Выводим в терминале наш адрес и местоположение
Итак, текущее местоположение мы получаем-выводим. А теперь создадим соединение через прокси сервер, и выведем его ниже, так сказать — для сравнения:
print('А теперь через прокси:') #Выводим в терминале текст, что бы понимать - когда соединение через прокси proxy_link = {'https':'8.217.12.240:59394'} #В этой переменной в словаре указываем протокол и адрес прокси + порт соединения. Где взять прокси - вариантов много, но это чуть позже response = requests.get(url=get_location_link, headers=headers, proxies=proxy_link) #Инициализируем соединение с сайтом, НО! Теперь уже в параметрах соединения указываем прокси soup = BeautifulSoup(response.text, 'lxml') #Создали переменную, которая состоит из текста ответа сайта ip = soup.find('div', class_ = 'ip').text.strip() #В эту переменную загоняем наш адрес, который выдается сайтом 2ip.ru (он прячется в div, в классе ip) location = soup.find('div', class_ = 'value-country').text.strip() #А в этой переменной сохраняем местоположение (на сайте 2ip.ru оно показывается в div, в классе value-country) print(ip, ':', location) #Выводим в терминале наш адрес и местоположение
Собственно, если все было правильно — у вас в терминале покажется нечто вроде такого:
Сам код в полном виде выглядит так:
import requests from bs4 import BeautifulSoup headers = ({'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/69.0'}) get_location_link = 'https://2ip.ru' proxy_link = {'https':'8.217.12.240:59394'} response = requests.get(url=get_location_link, headers=headers) soup = BeautifulSoup(response.text, 'lxml') ip = soup.find('div', class_ = 'ip').text.strip() location = soup.find('div', class_ = 'value-country').text.strip() print(ip, ':', location) print('А теперь через прокси:') response = requests.get(url=get_location_link, headers=headers, proxies=proxy_link) soup = BeautifulSoup(response.text, 'lxml') ip = soup.find('div', class_ = 'ip').text.strip() location = soup.find('div', class_ = 'value-country').text.strip() print(ip, ':', location)
На этом все, что я мог сказать по поводу «как подключить прокси» — сказано 🙂 Спасибо за внимание. Как всегда — в случае возникновения вопросов пишите на почту или в Телеграм.
Поисковые запросы:
подключение прокси сервер для парсинга gfqnjy
Support the Blog!
Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️