Что такое прокси и как парсить.. Что такое прокси-сервера и зачем они нужны при парсинге?
Что такое прокси и как парсить.. Что такое прокси-сервера и зачем они нужны при парсинге?
Прежде чем говорить о прокси-серверах, нам сначала необходимо понять, что такое IP-адреса и как они работают (очень коротко). IP-адрес — это набор чисел, который присваивается любому устройству, подключенному к Internet Protocol, например, к интернету, что дает каждому устройству уникальный идентификатор. Большинство IP-адресов выглядят так:
207.148.1.212
Прокси - это посредник, который маршрутизирует через себя ваш трафик и заменяет ваш IP-адрес на свой. Когда вы отправляете сайту (например, магазину ОЗОН.РУ) запрос через прокси, сайт не видит ваш IP, он видит только IP-адрес прокси-сервера, что дает вам возможность анонимно просматривать (или парсить) веб-страницы. Сейчас весь мир постепенно переходит от стандарта IPv4 к новому стандарту IPv6. Новая версия протокола позволяет создавать больше IP-адресов. Однако в прокси-бизнесе IPv6 пока не так уж и важен, поэтому большинство IP-адресов все еще используют стандарт IPv4.
При парсинге веб-сайта через прокси рекомендуется (но очень редко кто этому следует на практике) указывать название своей компании в качестве пользовательского агента ( user agent ), чтобы владелец веб-сайта мог связаться с вами, если ваш парсер перегружает их сервера или если он не хочет, чтобы вы парсили данные с его сайта.
Существует ряд причин, по которым важно использовать прокси при парсинге:
- Прокси (особенно пул прокси-серверов — подробнее об этом позже) позволяет намного надежнее парсить веб-сайт, значительно уменьшая вероятность того, что ваш робот заблокируют.
- Используя прокси, можно отправлять запросы из определенного географического региона или устройства (например, с мобильных IP-адресов), что позволяет просматривать конкретный контент, отображаемый на веб-сайте для данного местоположения или устройства. Это имеет огромное значение при сборе данных о товарах в интернет-магазинах.
- Используя пул прокси-серверов, можно, не опасаясь блокировки, отправлять больший объем запросов на целевой веб-сайт.
- Прокси-сервер позволяет обойти общие запреты IP, навязываемые некоторыми веб-сайтами. Пример: веб-сайты часто блокируют запросы от AWS, поскольку есть информация о том, что некоторые злоумышленники перегружают веб-сайты большими объемами запросов с использованием серверов от Amazon.
- Подключаясь через прокси-сервер, можно проводить неограниченное количество одновременных сеансов на одном и том же или разных сайтах.
Какие бывают прокси. Что такое прокси, зачем нужны прокси и какие бывают виды?
Многие слышали слово Прокси (Proxy), но не все знают что это означает на самом деле. В этой статье я расскажу что такое прокси и какие существуют прокси сервера. Мы не будем копать глубоко, я вам расскажу только самое необходимое что вы должны знать про прокси. Сразу скажу что, статья рассчитана на обычного пользователя. Продвинутому пользователю читать данную статью строго не рекомендуется!
В этой статье вы узнаете:
- Что такое прокси
- Использование прокси
- Какие существуют виды прокси-серверов
Что такое прокси
Прокси-сервер (от англ. proxy — право пользоваться от чужого имени) — удаленный сервер, который, при подключении к нему вашего компьютера, становится посредником для выхода абонента в сеть интернет. Прокси транслирует все запросы программ абонента в сеть, и, получив ответ, посылает его назад абоненту.
Я не буду останавливаться на принципах работы и подробно рассказывать что такое прокси. В большинстве случаев это не особо важно, намного важнее это знать какие существуют прокси сервера и чем они отличаются друг от друга.
Зачем нужны прокси
Сегодня, прокси сервера, в основном, используются для сокрытия, или изменения своего IP-адреса. Причин сделать это может быть немало, давайте рассмотрим наиболее распространённые из них. Использование прокси нам понадобится в случаях если требуется скрыть свой IP-адрес . Зайти на сайт доступ к которому по тем или иным причинам заблокирован для вашего IP. В случаях когда вам надо анонимно послать почту. Есть еще много случаев когда понадобится изменить прокси.
Виды прокси
HTTP прокси
HTTP прокси . Как следует из названия, прокси данного вида поддерживают только один протокол, протокол HTTP и подходят для загрузки файлов и просмотра интернет-страниц. Рассматривая с точки зрения анонимности, в зависимости от содержания отправляемых HTTP-заголовков, proxy-сервера данного вида разделяются на:
- Уровень 1 (High anonymous/Elite, прокси с высоким уровнем анонимности, их ещё называют элитные прокси). Сервер к которому вы подключаетесь посредством такого прокси, не сможет установить ваш настоящий IP-адрес, и даже не сможет установить, факт того что вы используете прокси, что в некоторых случаях является очень важным фактом.
- Уровень 2 (Аnonymous, анонимные прокси) – сервер, к которому вы подключитесь через такого типа прокси, может определить, что вы используете прокси, но не может установить ваш настоящий IP-адрес.
- Уровень 3 (Тransparent, прозрачные прокси) – сервер, к которому вы подключитесь через прозрачный прокси, может определить, что вы применяете прокси и может установить ваш настоящий IP-адрес.
HTTS прокси
HTTS прокси . Прокси данного типа поддерживают обмен данными методом CONNECT, и могут при помощи безопасного протокола SSL (Secure Socket Layer) работать с удалёнными серверами. Во время использования SSL соединения, передаваемые HTTP-заголовки находятся внутри зашифрованных пользовательских пакетов, следовательно, работая через HTTPS-прокси, ваше соединение будет полностью анонимным.
Но, надо знать, что, если вы работаете через прозрачный HTTP-прокси сервер с поддержкой метода CONNECT по протоколу HTTP, соединение будет прозрачным, т.е. удаленный сервер сумеет установить ваш реальный IP-адрес, а в случае если вы работаете через него по защищенному протоколу HTTPS, соединение будет анонимным.
SOCKS прокси
SOCKS прокси . Через SOCKS-прокси может работать практический все сетевые приложения. Например, можно применять SOCKS-прокси для работы с ICQ или почтовым клиентом. Большим плюсом SOCKS прокси является то, что вы можете использовать сразу несколько SOCKS прокси в цепочке, увеличивая степень своей анонимности . SOCKS прокси анонимны по определению, так как не привязаны к протоколам высокого уровня и не модернизируют заголовки запросов. SOCKS прокси поддерживают разные версии протокола SOCKS 4, SOCKS 4a и SOCKS 5.
Парсинг прокси python. Парсинг новых прокси
Начнём с импортирования библиотек — нам понадобятся модули для отправления запросов, для парсинга и хранения данных.
import requests_html
from bs4 import BeautifulSoup
import pickle
import requests
Все прокси будем хранить в множестве px_list , а также отправлять в pickle-файл proxis.pickle . В случае, если он не будет пустым, попробуем взять из него данные.
px_list = set()
try:
with open('proxis.pickle', 'rb') as f:
px_list = pickle.load(f)
except:
pass
Функция scrap_proxy() будет заходить на сайт free-proxy-list.net и собирать оттуда 20 последних прокси. На сайте новые адреса появляются ежеминутно. Вот, как выглядит интересующая нас область сайта:
Из всего этого будем собирать ID Address и Port. Посмотрим, как элементы расположены в коде страницы:
Все нужные данные являются ячейками таблицы. В цикле будем брать первые 20 строк, обращаясь к IP-адресу и порту по xpath . В конце функция будет отправлять свежие прокси в pickle-файл и возвращать список прокси.