Привіт усім! Сьогодні ми розберемося з питанням: “Python – як підключити проксі?”
Навіщо вам потрібен проксі — вирішувати вам. Наприклад, ви хочете зібрати дані з сайту, який не любить численні з’єднання. Або ж маєте іншу мету. У будь-якому випадку, вам потрібно підключити проксі. Поїхали!
Код, представлений нижче, буде виглядати наступним чином:
Створюємо з’єднання з сайтом, який показує нашу поточну IP-адресу.
Виводимо отримані дані, щоб переконатися, що все правильно.
Підключаємо проксі та створюємо з’єднання вже через нього.
З’єднуємося з сайтом, який показує нашу 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() # Змінна з нашою IP-адресою (на 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() # Змінна з нашою IP-адресою (на 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)
Це все, що я міг сказати про “як підключити проксі”. 🙂 Дякую за увагу! Як завжди, якщо виникнуть питання, пишіть на пошту або в Telegram.
Пошукові запити:
Підключення проксі-сервера для парсингу Python.
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! ❤️