Как скрейпить Amazon или eBay с помощью бесплатных прокси-серверов

Как скрейпить Amazon или eBay с помощью бесплатных прокси-серверов

Выбор вашего арсенала: бесплатные прокси в дикой природе

В цифровой агоре прокси стоят как эфемерные часовые — врата к анонимности, свободе и, увы, хрупкости. Бесплатный прокси, это неуловимое существо, предлагает проход, но за определенную цену: нестабильность, удушение или, в худшем случае, предательство. Давайте рассмотрим с картезианской ясностью ландшафт:

Тип прокси Анонимность Скорость Надежность Пример источника
HTTP/HTTPS-прокси Середина Умеренный Низкий https://free-proxy-list.net/
SOCKS4/5 Прокси Высокий Низкий Очень низкий https://socks-proxy.net/
Прозрачные прокси Никто Быстрый Низкий https://spys.one/

Предупреждение: Бесплатные прокси-серверы являются общедоступными и могут быть скомпрометированы. Никогда не отправляйте учетные данные или конфиденциальные данные через них.

Сбор доверенных лиц: ритуал

Танец с эфемерным требует автоматизации. Давайте призовем Питона и его приспешников, запросы и BeautifulSoup, чтобы получить прокси:

импорт запросов из bs4 import BeautifulSoup def fetch_proxies(): url = 'https://free-proxy-list.net/' soup = BeautifulSoup(requests.get(url).content, 'html.parser') proxies = [] for row in soup.find('table', id='proxylisttable').tbody.find_all('tr'): tds = row.find_all('td') if tds[6].text == 'yes': # HTTPS только proxy = f"{tds[0].text}:{tds[1].text}" proxies.append(proxy) return proxy

Прокси в ротации: искусство маскировки

Amazon и eBay, эти цифровые крепости, орудуют банхаммерами с механической точностью. Решение? Поворачивайте прокси, меняйте user-agent и вводите задержки — хореография дезориентации.

импорт случайных импортных прокси = fetch_proxies() user_agents = [ # Букет пользовательских агентов 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)...', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...', # Добавить еще ] def get_random_headers(): return {'User-Agent': random.choice(user_agents)} def get_random_proxy(): return {'http': f"http://{random.choice(proxies)}", 'https': f"http://{random.choice(proxies)}"} def request_with_proxy(url): for attempt in range(5): proxy = get_random_proxy() headers = get_random_headers() try: response = requests.get(url, headers=заголовки, proxies=прокси, timeout=5) если response.status_code == 200: вернуть response.text кроме Исключение: продолжить time.sleep(random.uniform(1, 3)) вернуть None

Скрейпинг Amazon: навигация по лабиринту

Amazon плетет антибот-заклинания: CAPTCHA, динамический контент, запреты по IP. Для мелкомасштабного парсинга сосредоточьтесь на листингах продуктов; для чего-то большего рассмотрите этические ограничения и правовые границы.

Пример: извлечение названий продуктов

из bs4 import BeautifulSoup def scrape_amazon_product_title(asin): url = f"https://www.amazon.com/dp/{asin}" html = request_with_proxy(url) if not html: print("Не удалось получить страницу.") return None soup = BeautifulSoup(html, 'html.parser') title = soup.find('span', id='productTitle') return title.text.strip() if title else None asin = 'B08N5WRWNW' # Пример ASIN print(scrape_amazon_product_title(asin))

Очистка eBay: через базар

eBay, менее бдительный страж, все еще использует ограничение скорости и обнаружение ботов — менее серьезно, но присутствует. Сосредоточьтесь на странице товара (например, https://www.ebay.com/itm/ITEMID).

Пример: извлечение цены товара

def scrape_ebay_price(item_id): url = f"https://www.ebay.com/itm/{item_id}" html = request_with_proxy(url) if not html: print("Не удалось получить страницу.") return None soup = BeautifulSoup(html, 'html.parser') price = soup.find('span', id='prcIsum') return price.text.strip() if price else None item_id = '234567890123' # Пример идентификатора товара print(scrape_ebay_price(item_id))

Запутывание: Поэзия уклонения

  • Рандомизировать интервалы запросов:
    питон
    время.сон(случайный.равномерный(2, 6))
  • Перемешивание прокси и пользовательских агентов с каждым запросом.
  • Приостановка или переключение прокси-серверов при обнаружении HTTP 503, 403 или CAPTCHA.

Ограничения и законность:

Сайт Макс. кол-во запросов/час (приблиз.) Ключевые контрмеры
Амазонка ~50-100 Капчи, баны по IP, проверки JS
eBay ~200-300 Ограничение скорости, Captchas

Лучшие практики:

  • Перед использованием проверяйте прокси на жизнеспособность (многие умирают в течение нескольких часов).
  • Соблюдайте robots.txt — не вторгайтесь туда, куда запрещено.
  • Ограничьте параллелизм (избегайте переполнения потоков с помощью бесплатных прокси-серверов).
  • Изящный анализ — макеты сайтов мутируют, как весенний подлесок.

Инструменты и библиотеки:

Задача Рекомендуемый инструмент
Прокси-скрапинг BeautifulSoup
HTTP-запросы запросы, httpx
Разбор BeautifulSoup, lxml
Ротация прокси запросы + индивидуальные

Пример процедуры проверки прокси:

def validate_proxy(proxy): try: r = requests.get('https://httpbin.org/ip', proxies={'http': proxy, 'https': proxy}, timeout=3) return r.status_code == 200 except: return False proxy = [p for p in proxies if validate_proxy(p)]

Последнее замечание о настойчивости:

Скрести с бесплатными прокси — значит гоняться за горизонтом, который постоянно меняется и всегда находится вне досягаемости. Поворачивайте, адаптируйтесь и никогда не забывайте, что каждый запрос — это капля в океане цифровой коммерции. Интернет — это живое существо; относитесь к нему как к таковому, и он еще может выдать свои секреты.

Теофиль Бове

Теофиль Бове

Прокси-аналитик

Теофиль Бове — 21-летний аналитик прокси-серверов в ProxyMist, где он специализируется на составлении и обновлении полных списков прокси-серверов по всему миру. Обладая врожденной склонностью к технологиям и кибербезопасности, Теофиль стал ключевым членом команды, обеспечивая бесплатную доставку надежных SOCKS, HTTP, элитных и анонимных прокси-серверов пользователям по всему миру. Родившийся и выросший в живописном городе Лион, Теофиль'с юных лет увлекся цифровой конфиденциальностью и инновациями.

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

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

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

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