Увійти Реєстрація
E-commerce

Проксі для e-commerce команд, які стежать за всім ринком

Онлайн-торгівля живе на чужих даних: залишки конкурентів, їхні ціни, їхні картки такими, як їх бачать покупці в кожній країні. Маркетплейси ріжуть адреси зі списків суворіше за інші сайти, тому основний обхід іде через Resi Core з домашньою IP потрібної країни, а безлімітні пакети закривають простіші магазини й великий обсяг.

  • Resi Core: 2 млн+ IP, 200+ країн
  • нова IP на кожен запит
  • пакети для обсягу без лічильника
Ноутбук із каталогом інтернет-магазину і посилка на столі
E-commerce

Що потрібно e-commerce команді і що дає пакет

Маркетплейси найкраще захищені сайти в мережі. Пул має бути великим, місцевим і свіжим.

Що потрібно задачіЩо дають тарифи

Картки такими, як їх бачить місцевий покупець

Resi Core: домашня IP країни ринку; Resi Prime додає місто й строк доставки

Перевірки залишків і цін на тисячах SKU

Потоки на Resi без ліміту, на пакетах до 2 500

Адреси, що переживуть бан маркетплейсу

Пул Resi Core понад 2 млн адрес, на кожен запит нова IP

Повні сторінки з картинками і відгуками

На безлімітних пакетах трафік не рахується; на Resi вимикайте картинки й платіть лише за HTML

Резидентні проксі

Порахуйте трафік під свої маркетплейси

Вимкніть у парсері картинки й скрипти, тоді гігабайт іде на HTML карток. Ціна за ГБ падає з обсягом замовлення.

Ціна резидентних проксі за 1 ГБ залежно від обсягу замовлення
Обсяг замовленняResi CoreResi Prime
від 1 ГБ$0.85$2.29
від 10 ГБ$0.79$2.09
від 50 ГБ$0.72$1.95
від 100 ГБекономія 24%$0.65$1.75
від 500 ГБ$0.57$1.55
від 1000 ГБ$0.49$1.39

Ціни в доларах США за 1 ГБ. Трафік купується цілою кількістю гігабайтів, від 1 ГБ.

Пул

  • 2 млн+ домашніх IP у 200+ країнах
  • Нова адреса на кожен запит або одна на сесію, поки пристрій доступний
  • Пошта зі своєї скриньки: 465 і 587 на відправлення, IMAP 993 і POP3 995 на отримання, порт 25 закритий
  • До 1000 рядків за раз, список оновлюється сам кожні N хвилин
Разом
$65.00
За 1 ГБ
$0.65
Щабель
100–499 ГБ

Економія 24% ($20.00) проти ціни від 1 ГБ

Ще 400 ГБ, і кожен гігабайт вийде по $0.57

Купити цей обсяг

Гігабайти можна витрачати 3 місяці від дати покупки, потім залишок списується.

Про резидентні

Три кроки до живої картини ринку

Розділіть за маркетплейсом і країною

Один список на ринок: лишіть рядки CSV для цієї країни і дайте кожному парсеру власний файл ip:port.

Складіть розклад перевірок

Залишки щогодини, ціни двічі на день, картки раз на день. Кожен запит з наступної адреси в списку.

Зберігайте те, що бачив покупець

Записуйте ціну, ознаку наявності, дату доставки і країну IP з кожним записом: країна потім пояснить розбіжності.

Готовий наглядач: ціна і залишок, що накопичуються в часі

Заповніть products.txt і задайте COUNTRY; кожен товар читається через місцевий проксі, ціна і ознака наявності витягуються і дописуються в stock.csv, тож у вас складається історія для графіка. Підлаштуйте PRICE_RE і INSTOCK_RE під маркетплейс.

CSV export link from your dashboard
marketplace country
one product URL per line
group 1 = price
matches when in stock
url;price;in_stock;proxy is written here
Значення беруться з форми; скопіюйте або завантажте готовий файл.
Показати код скрипта
Python 3.8+ · ecommerce.py
#!/usr/bin/env python3
"""Marketplace stock and price watcher for Advanced.name proxies.

For each product URL it fetches the page through a proxy from the target country
and pulls both the price and an in-stock flag, writing a CSV you can chart over
time. Standard library only. Edit CONFIG and run: python3 stock.py
"""

# ================================ CONFIG ====================================
CSV_URL = "https://get.advanced.name/YOUR_LIST_ID.csv"  # CSV export link from your dashboard
COUNTRY = "IT"          # marketplace country
MIN_SPEED = 3
PRODUCTS_FILE = "products.txt"           # one product URL per line
PRICE_RE = r'"price"\s*:\s*"?([0-9][0-9.,]*)'          # group 1 = price
INSTOCK_RE = r'"availability"\s*:\s*"[^"]*InStock'     # matches when in stock
OUT_FILE = "stock.csv"                    # url;price;in_stock;proxy is written here
THREADS = 40
TIMEOUT = 20
RETRIES = 3
# ============================================================================

import csv
import io
import itertools
import re
import sys
import threading
import time
import urllib.request
from concurrent.futures import ThreadPoolExecutor, as_completed

COL_IP, COL_PORT, COL_COUNTRY, COL_SPEED = 0, 1, 2, 3
UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124.0 Safari/537.36"
PRICE = re.compile(PRICE_RE)
INSTOCK = re.compile(INSTOCK_RE)


def load_proxies():
    raw = urllib.request.urlopen(CSV_URL, timeout=30).read().decode("utf-8", "replace")
    pool = []
    for row in csv.reader(io.StringIO(raw), delimiter=";"):
        if len(row) <= COL_SPEED or not row[COL_PORT].strip().isdigit():
            continue
        if COUNTRY and row[COL_COUNTRY].strip().upper() != COUNTRY.upper():
            continue
        if int(row[COL_SPEED] or 0) < MIN_SPEED:
            continue
        pool.append(row[COL_IP].strip() + ":" + row[COL_PORT].strip())
    return pool


def main():
    proxies = load_proxies()
    if not proxies:
        sys.exit("No proxies for COUNTRY=%r." % COUNTRY)
    with open(PRODUCTS_FILE, encoding="utf-8") as fh:
        products = [line.strip() for line in fh if line.strip() and not line.startswith("#")]
    print("proxies: %d (%s), products: %d" % (len(proxies), COUNTRY, len(products)))

    rotation = itertools.cycle(proxies)
    lock = threading.Lock()

    def watch(url):
        for _ in range(RETRIES):
            with lock:
                proxy = next(rotation)
            handler = urllib.request.ProxyHandler({"http": "http://" + proxy, "https": "http://" + proxy})
            req = urllib.request.Request(url, headers={"User-Agent": UA, "Accept-Language": COUNTRY.lower()})
            try:
                html = urllib.request.build_opener(handler).open(req, timeout=TIMEOUT).read().decode("utf-8", "replace")
            except Exception:
                continue
            price = PRICE.search(html)
            return (price.group(1) if price else ""), ("yes" if INSTOCK.search(html) else "no"), proxy
        return "", "unreachable", ""

    rows = []
    with ThreadPoolExecutor(max_workers=THREADS) as pool:
        futures = {pool.submit(watch, u): u for u in products}
        for fut in as_completed(futures):
            url = futures[fut]
            price, stock, proxy = fut.result()
            rows.append((time.strftime("%Y-%m-%d %H:%M"), url, price, stock, proxy))
            print("%-4s %-9s %s" % (stock, price, url[:56]))

    header = not _exists(OUT_FILE)
    with open(OUT_FILE, "a", encoding="utf-8", newline="") as out:
        writer = csv.writer(out, delimiter=";")
        if header:
            writer.writerow(["checked_at", "url", "price", "in_stock", "proxy"])
        writer.writerows(rows)
    print("appended %d rows to %s" % (len(rows), OUT_FILE))


def _exists(path):
    try:
        open(path).close()
        return True
    except OSError:
        return False


if __name__ == "__main__":
    main()
Налаштування

Налаштування моніторингу маркетплейсів

Один список на ринок

Зберіть окремий список ip:port для країни кожного маркетплейсу з CSV-вивантаження і дайте кожному парсеру власний файл. Надсилайте з регіональним IP власну куку країни маркетплейсу; деякі сайти читають регіон з куки раніше, ніж з адреси.

Беріть залишки зі сторінки товару чи з кошика, а не з видачі, яка кешується, і гальмуйте для конкретного маркетплейсу, а не загалом, коли з'являються 403.

Розклад і зберігання

Запускайте наглядача вище з cron і дописуйте в один CSV, щоб складалася історія для графіка. Пишіть країну IP з кожним записом; потім саме країна пояснить різницю в цінах і доставці.

Тримайте пул свіжим за допомогою Socks List Processor і випробуйте парсер на безкоштовному списку проксі перед повним каталогом.

На практиці

Від картки до порога

Чотири правила моніторингу маркетплейсів

  1. Надсилайте разом із регіональним IP власну куку країни маркетплейсу; деякі сайти спершу зберігають регіон у куці.
  2. Гальмуйте на рівні маркетплейсу, а не загалом: сплеск 403 від одного сайту означає, що пауза потрібна лише йому.
  3. Беріть залишки зі сторінки товару чи з кошика, а не з пошукової видачі, яка кешується.
  4. Оновлюйте список кожні 10 хвилин і пишіть країну IP разом із кожним записом.

Тарифи за ГБ під цю задачу

Ця задача за країнами

Показати всі країни
FAQ

Питання про цю задачу

Які проксі брати під Amazon.de і подібні?
Resi Core з країною DE в рядку підключення: на кожен запит нова домашня IP. Для кількох країн ЄС міняйте код країни в логіні, а простіші магазини дешевше обходити на пакеті Європа №9.
Чи можна стежити за китайськими постачальниками?
Так, через пул Китай (пакет №13). Сторінки відкриваються такими, як їх бачить місцевий покупець.
Чи витягнуть проксі важкі сторінки маркетплейсів?
Так. На безлімітному пакеті трафік не рахується, тому повні сторінки й headless-браузери підходять. На Resi Core важкі сторінки з’їдають гігабайти: вимикайте картинки й ставте тайм-аути 15–20 секунд.
Чи є безкоштовний тест?
Година на будь-якому безлімітному пакеті з повною кількістю потоків, без картки. Resi Core пробують покупкою 1 ГБ: проженіть парсер по справжньому маркетплейсу й подивіться частку помилок.
Пакет чи Resi для маркетплейсів?
Великі маркетплейси ріжуть адреси зі списків, тому основний обхід ведіть через Resi Core. Resi Prime потрібен для кабінету продавця й цін за містами, а пакет підходить простішим магазинам і великому обсягу.
Тарифи під задачу

Що взяти e-commerce команді

Великі маркетплейси обходьте через Resi Core, кабінет продавця й ціни за містами тримайте на Resi Prime, а простіші магазини дешевше знімати безлімітним пакетом.

Resi Core

Обхід маркетплейсівНайкращий вибір

2 млн+ IP · 200+ країн · потоки без ліміту

Домашня IP країни ринку на кожен запит, тому бан однієї адреси не зупиняє обхід. Куплені гігабайти витрачаєте три місяці.

від $0.49 за ГБ1 ГБ за $0.85

Resi Prime

Кабінет продавця й місто

30 млн+ IP · 220 країн · потоки без ліміту

Кабінет продавця сидить на одній домашній IP до 24 годин. Місто й провайдер у рядку показують ціну й строк доставки, які бачить покупець цього міста.

від $1.39 за ГБ1 ГБ за $2.29

Безлімітні проксі

Простіші магазини й обсяг

Пакет № 9 · Європа · 5 000 IP · 2 000 потоків

Трафік не рахується, тому повні картки з картинками не збільшують рахунок. Підходить магазинам, які не ріжуть адреси зі списків.

$397 на місяцьабо $2.20 за годину

Стежте за всім маркетплейсом уже з завтра

Візьміть Resi Core під маркетплейси, перевірте парсер на 1 ГБ і запустіть трекер на кожному ринку, де продаєте.

Тарифи Взяти годину безкоштовно