Connexion Inscription
E-commerce

Des proxys pour les équipes e-commerce qui suivent le marché

Le commerce en ligne vit des données des autres : le stock des concurrents, leurs prix, leurs fiches telles que les voient les acheteurs de chaque pays. Les places de marché coupent les adresses des listes plus durement que les autres sites, alors le crawl principal passe par Resi Core avec une IP résidentielle du bon pays, tandis que les packs illimités couvrent les boutiques plus simples et les gros volumes.

  • Resi Core : 2M+ IP, 200+ pays
  • une nouvelle IP à chaque requête
  • packs pour le volume sans compteur
Ordinateur portable affichant le catalogue d'une boutique en ligne, un colis sur le bureau
E-commerce

Ce qu'il faut à une équipe e-commerce et ce que donne le pack

Les marketplaces sont les sites les mieux défendus du web. Le pool doit être grand, local et frais.

Ce que demande la tâcheCe que donnent les offres

Des fiches telles que les voit un acheteur local

Resi Core : une IP résidentielle du pays du marché ; Resi Prime ajoute la ville et la date de livraison

Des contrôles de stock et de prix sur des milliers de références

Pas de limite de threads sur Resi, jusqu'à 2500 sur les packs

Des adresses qui survivent à un blocage de marketplace

Le pool Resi Core compte 2M+ adresses, avec une nouvelle IP à chaque requête

Des pages complètes avec images et avis

Le trafic n'est pas compté sur les packs illimités ; sur Resi, coupez les images et ne payez que le HTML

Proxys résidentiels

Calculez le trafic pour vos places de marché

Coupez les images et les scripts dans le scraper, et les gigaoctets vont au HTML des fiches. Le prix au Go baisse avec la taille de la commande.

Prix des proxys résidentiels pour 1 Go selon la taille de la commande
Taille de la commandeResi CoreResi Prime
1 Go+$0.85$2.29
10 Go+$0.79$2.09
50 Go+$0.72$1.95
100 Go+−24 %$0.65$1.75
500 Go+$0.57$1.55
1000 Go+$0.49$1.39

Prix en dollars américains pour 1 Go. Vous achetez des gigaoctets entiers, à partir d'un seul.

Pool

  • 2M+ IP résidentielles dans 200+ pays
  • Une nouvelle adresse à chaque requête ou une par session tant que l'appareil est disponible
  • Mail depuis votre propre boîte : 465 et 587 pour l'envoi, IMAP 993 et POP3 995 pour la réception, port 25 fermé
  • Jusqu'à 1000 lignes d'un coup, et la liste se renouvelle seule toutes les N minutes
Total
$65.00
Pour 1 Go
$0.65
Palier
100–499 Go

Vous économisez 24 % ($20.00) par rapport au prix pour 1 Go et plus

Ajoutez 400 Go et chaque gigaoctet descend à $0.57

Acheter cette quantité

Vous pouvez utiliser les gigaoctets pendant 3 mois à compter de l'achat ; ce qui reste ensuite est annulé.

À propos des résidentiels

Trois étapes vers une vue du marché en direct

Découpez par marketplace et par pays

Une liste par marché : gardez les lignes du CSV de ce pays et donnez à chaque parseur son propre fichier ip:port.

Planifiez les contrôles

Stock toutes les heures, prix deux fois par jour, fiches une fois par jour. Chaque requête depuis l'adresse suivante de la liste.

Gardez ce que l'acheteur a vu

Enregistrez avec chaque relevé le prix, l'indicateur de stock, la date de livraison et le pays de l'IP : le pays expliquera les écarts plus tard.

Veilleur prêt : prix et stock accumulés dans le temps

Remplissez products.txt et réglez COUNTRY ; chaque produit est lu via un proxy local, le prix et un indicateur de stock sont extraits puis ajoutés à stock.csv, ce qui construit un historique à tracer. Adaptez PRICE_RE et INSTOCK_RE à la marketplace.

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
Les valeurs viennent du formulaire ; copiez ou téléchargez le fichier prêt.
Afficher le code du script
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()
Configuration

Mettre en place la surveillance des marketplaces

Une liste par marché

À partir de l'export CSV, construisez une liste ip:port distincte par pays de marketplace et donnez à chaque parseur son propre fichier. Envoyez le cookie de pays de la marketplace avec l'IP régionale ; certains sites lisent la région dans un cookie avant l'adresse.

Prenez les stocks sur la page produit ou dans le panier, pas dans les résultats de recherche mis en cache, et ralentissez par marketplace plutôt que globalement quand les 403 apparaissent.

Planification et stockage

Lancez le veilleur ci-dessus depuis cron et ajoutez tout dans un même CSV pour bâtir un historique à tracer. Notez le pays de l'IP dans chaque relevé ; c'est lui qui expliquera plus tard les écarts de prix et de livraison.

Gardez le pool frais avec le Socks List Processor, et testez le parseur sur la liste de proxies gratuits avant le catalogue complet.

En pratique

De la fiche au paillasson

Quatre règles pour surveiller les marketplaces

  1. Envoyez le cookie de pays de la marketplace avec l'IP régionale ; certains sites stockent d'abord la région dans un cookie.
  2. Ralentissez par marketplace, pas globalement : une rafale de 403 sur un site signifie que seul ce site a besoin d'une pause.
  3. Prenez les stocks sur la page produit ou dans le panier, pas dans les résultats de recherche, qui sont en cache.
  4. Rafraîchissez la liste toutes les 10 minutes et notez le pays de l'IP dans chaque relevé.

Offres au Go pour cette tâche

Cette tâche par pays

Voir tous les pays
FAQ

Questions sur cette tâche

Quels proxys pour Amazon.de et similaires ?
Resi Core avec le pays DE dans la chaîne de connexion : une nouvelle IP résidentielle à chaque requête. Pour plusieurs pays de l'UE, changez le code pays dans le login, et les boutiques plus simples coûtent moins cher sur le pack Europe #9.
Puis-je surveiller des fournisseurs chinois ?
Oui, via le pool Chine (pack n° 13). Les pages s'ouvrent comme un acheteur local les voit.
Les proxies supportent-ils les pages lourdes des marketplaces ?
Oui. Le trafic n'est pas compté sur un pack illimité, donc les pages complètes et les navigateurs headless ne posent pas de problème. Sur Resi Core, les pages lourdes mangent des gigaoctets : coupez les images et utilisez des délais de 15 à 20 secondes.
Y a-t-il un essai gratuit ?
Une heure sur n'importe quel pack illimité, tous threads ouverts, sans carte. Resi Core s'essaie avec un achat de 1 Go : lancez votre scraper sur une vraie place de marché et regardez le taux d'erreurs.
Pack ou Resi pour les places de marché ?
Les grandes places de marché coupent les adresses des listes, alors faites passer le crawl principal par Resi Core. Resi Prime sert au compte vendeur et aux prix par ville, et un pack convient aux boutiques plus simples et aux gros volumes.
Offres pour cette tâche

Ce qu'une équipe e-commerce devrait prendre

Crawlez les grandes places de marché via Resi Core, gardez le compte vendeur et les prix par ville sur Resi Prime, et collectez les boutiques plus simples sur un pack illimité pour moins cher.

Resi Core

Crawl des places de marchéLe meilleur choix

2M+ IP · 200+ pays · threads illimités

Une IP résidentielle du pays du marché à chaque requête, donc une adresse bannie n'arrête pas le crawl. Vous dépensez les gigaoctets achetés sur trois mois.

dès $0.49 le Go1 Go pour $0.85

Resi Prime

Compte vendeur et ville

30M+ IP · 220 pays · threads illimités

Un compte vendeur reste sur une IP résidentielle jusqu'à 24 heures. La ville et le FAI dans la chaîne montrent le prix et la date de livraison que voit un acheteur de cette ville.

dès $1.39 le Go1 Go pour $2.29

Proxys illimités

Boutiques simples et volume

Pack #9 · Europe · 5000 IP · 2000 threads

Le trafic n'est pas compté, donc les fiches complètes avec images ne font pas monter la facture. Convient aux boutiques qui ne coupent pas les adresses des listes.

$397 par moisou $2.20 de l'heure

Surveillez toute la marketplace dès demain

Prenez Resi Core pour les places de marché, testez le scraper sur 1 Go et lancez le suivi sur chaque marché où vous vendez.

Tarifs Prendre une heure offerte