כניסה הרשמה
E-commerce

פרוקסי לצוותי איקומרס שעוקבים אחרי כל השוק והמתחרים

מסחר מקוון חי על נתונים של אחרים: המלאי של המתחרים, המחירים שלהם, דפי המוצר שלהם כפי שקונים בכל מדינה רואים אותם. מרקטפלייסים חותכים כתובות מרשימות בחומרה רבה יותר מאתרים אחרים, ולכן הסריקה הראשית עוברת דרך Resi Core עם IP ביתי מהמדינה הנכונה, וחבילות ללא הגבלה מכסות חנויות פשוטות יותר ונפחים גדולים.

  • Resi Core: ‏2M+ כתובות IP, ‏200+ מדינות
  • IP חדש בכל בקשה
  • חבילות לנפח בלי מונה
מחשב נייד עם קטלוג של חנות אונליין וחבילה על השולחן
E-commerce

מה צוות איקומרס צריך ומה החבילה נותנת

מרקטפלייסים הם האתרים המוגנים ביותר ברשת. המאגר צריך להיות גדול, מקומי וטרי.

מה המשימה צריכהמה התוכניות נותנות

דפי מוצר כפי שקונה מקומי רואה אותם

Resi Core: ‏IP ביתי ממדינת השוק; Resi Prime מוסיף עיר ותאריך משלוח

בדיקות מלאי ומחיר על אלפי מק"טים

בלי מגבלת חיבורים ב-Resi, עד 2500 בחבילות

כתובות ששורדות חסימה של מרקטפלייס

במאגר Resi Core יש 2M+ כתובות, עם IP חדש בכל בקשה

עמודים מלאים עם תמונות וביקורות

התעבורה לא נספרת בחבילות ללא הגבלה; ב-Resi כבו תמונות ושלמו רק על ה-HTML

פרוקסי רזידנציאליים

חשבו את התעבורה למרקטפלייסים שלכם

כבו תמונות וסקריפטים בסורק, והג'יגה-בייטים ילכו ל-HTML של דפי המוצר. המחיר ל-GB יורד עם גודל ההזמנה.

מחיר פרוקסי רזידנציאליים ל-1 GB לפי גודל ההזמנה
גודל ההזמנהResi CoreResi Prime
1 GB ומעלה$0.85$2.29
10 GB ומעלה$0.79$2.09
50 GB ומעלה$0.72$1.95
100 GB ומעלהחיסכון 24%$0.65$1.75
500 GB ומעלה$0.57$1.55
1000 GB ומעלה$0.49$1.39

המחירים בדולרים אמריקאיים ל-1 GB. קונים ג'יגה-בייטים שלמים, החל מאחד.

מאגר

  • 2M+ כתובות IP ביתיות ב-200+ מדינות
  • כתובת חדשה בכל בקשה או אחת לסשן כל עוד המכשיר זמין
  • דואר מהתיבה שלכם: 465 ו-587 לשליחה, IMAP 993 ו-POP3 995 לקבלה, פורט 25 סגור
  • עד 1000 שורות בבת אחת, והרשימה מתרעננת לבד כל N דקות
סך הכול
$65.00
ל-1 GB
$0.65
מדרגה
100–499 GB

אתם חוסכים 24% ($20.00) לעומת המחיר של 1 GB ומעלה

הוסיפו 400 GB וכל ג'יגה-בייט יירד ל-$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()
הגדרה

להקים מעקב אחרי מרקטפלייסים

רשימה אחת לכל שוק

בנו מייצוא ה-CSV רשימת ip:port נפרדת לכל מדינת מרקטפלייס ותנו לכל מפענח קובץ משלו. שלחו את עוגיית המדינה של המרקטפלייס עם ה-IP האזורי; חלק מהאתרים קוראים את האזור מעוגייה לפני הכתובת.

קחו את כמויות המלאי מדף המוצר או מהעגלה, לא מתוצאות חיפוש שנשמרות במטמון, והאטו לפי מרקטפלייס ולא באופן כללי כשמופיעים 403.

תזמון ואחסון

הריצו את המשגיח למעלה מ-cron והוסיפו הכול ל-CSV אחד, כדי שתיבנה היסטוריה לגרף. רשמו את מדינת ה-IP עם כל רשומה; המדינה היא שתסביר בהמשך הבדלים במחיר ובמשלוח.

שמרו על מאגר טרי עם Socks List Processor, ונסו את המפענח על רשימת הפרוקסי החינמית לפני הקטלוג המלא.

בפועל

מדף המוצר עד הדלת

ארבעה כללים למעקב אחרי מרקטפלייסים

  1. שלחו את עוגיית המדינה של המרקטפלייס עצמו יחד עם ה-IP האזורי; חלק מהאתרים שומרים את האזור קודם בעוגייה.
  2. האטו לפי מרקטפלייס, לא באופן כללי: גל של 403 מאתר אחד אומר שרק האתר הזה צריך הפסקה.
  3. קחו את כמויות המלאי מדף המוצר או מהעגלה, לא מתוצאות החיפוש שנשמרות במטמון.
  4. רעננו את הרשימה כל 10 דקות ורשמו את מדינת ה-IP עם כל רשומה.

תוכניות לפי GB למשימה הזו

המשימה הזו לפי מדינה

הצגת כל המדינות
FAQ

שאלות על המשימה הזו

אילו פרוקסי ל-Amazon.de ודומיו?
Resi Core עם המדינה DE במחרוזת החיבור: IP ביתי חדש בכל בקשה. לכמה מדינות באיחוד האירופי שנו את קוד המדינה בשם המשתמש, וחנויות פשוטות יותר עולות פחות בחבילת Europe #9.
אפשר לעקוב אחרי ספקים סיניים?
כן, דרך מאגר סין (חבילה מס' 13). העמודים נפתחים כפי שקונה מקומי רואה אותם.
הפרוקסי עומדים בעמודים כבדים של מרקטפלייסים?
כן. בחבילה ללא הגבלה התעבורה לא נספרת, אז עמודים מלאים ודפדפני headless לא מהווים בעיה. ב-Resi Core עמודים כבדים אוכלים ג'יגה-בייטים: כבו תמונות והשתמשו בזמני המתנה של 15 עד 20 שניות.
יש ניסיון חינם?
שעה על כל חבילה ללא הגבלה עם כל החיבורים, בלי כרטיס. את Resi Core מנסים ברכישה של 1 GB: הריצו את הסורק על מרקטפלייס אמיתי ובדקו את שיעור השגיאות.
חבילה או Resi למרקטפלייסים?
מרקטפלייסים גדולים חותכים כתובות מרשימות, אז העבירו את הסריקה הראשית דרך Resi Core. Resi Prime מיועד לחשבון המוכר ולמחירים לפי עיר, וחבילה מתאימה לחנויות פשוטות יותר ולנפח גדול.
תוכניות למשימה הזו

מה צוות מסחר מקוון צריך לקחת

סרקו מרקטפלייסים גדולים דרך Resi Core, החזיקו את חשבון המוכר ואת המחירים לפי עיר על Resi Prime, ואספו חנויות פשוטות יותר בחבילה ללא הגבלה בפחות כסף.

Resi Core

סריקת מרקטפלייסיםההתאמה הטובה ביותר

2M+ כתובות IP · 200+ מדינות · בלי מגבלת חיבורים

IP ביתי ממדינת השוק בכל בקשה, כך שכתובת חסומה אחת לא עוצרת את הסריקה. את הג'יגה-בייטים שקניתם מנצלים לאורך שלושה חודשים.

החל מ- $0.49 ל-GB1 GB ב-$0.85

Resi Prime

חשבון מוכר ועיר

30M+ כתובות IP · 220 מדינות · בלי מגבלת חיבורים

חשבון מוכר נשאר על IP ביתי אחד עד 24 שעות. העיר והספק במחרוזת מראים את המחיר ואת תאריך המשלוח שקונה בעיר הזו רואה.

החל מ- $1.39 ל-GB1 GB ב-$2.29

פרוקסי ללא הגבלה

חנויות פשוטות ונפח

חבילה #9 · אירופה · 5000 IP · 2000 חיבורים

התעבורה לא נספרת, אז דפי מוצר מלאים עם תמונות לא מעלים את החשבון. מתאים לחנויות שלא חותכות כתובות מרשימות.

$397 לחודשאו $2.20 לשעה

עקבו אחרי כל המרקטפלייס כבר ממחר

קחו Resi Core למרקטפלייסים, בדקו את הסורק על 1 GB והריצו את המעקב בכל שוק שבו אתם מוכרים.

מחירים שעה חינם לניסיון