Proxies für die Preisüberwachung
Die Überwachung der Preise von Mitbewerbern ist ein wichtiger Bestandteil der E-Commerce-Strategie. Proxies helfen, Preisdaten ohne Blockaden zu sammeln.
Warum Preisüberwachung benötigt wird
- Wettbewerbsfähige Preise — Preise auf Marktniveau halten
- Verkäufe erkennen — auf Rabatte der Mitbewerber reagieren
- Trendanalyse — Marktdynamik verstehen
- MAP-Konformität — Einhaltung von Mindestpreisen überwachen
Warum Proxies benötigt werden
E-Commerce-Websites schützen sich aktiv vor dem Parsen:
- Ratenbegrenzung (Rate limiting)
- CAPTCHA
- IP-Sperrung
- Verhaltensanalyse
Lösungsarchitektur
┌─────────────────┐ ┌──────────────┐ ┌─────────────┐
│ Ihr Server │────▶│ Proxy Pool │────▶│ Mitbewerber │
│ (Skript/Crawler)│ │ (Residential)│ │ Websites │
└─────────────────┘ └──────────────┘ └─────────────┘
│ │
└──────────── Preisdaten ◀─────────────────┘
Datenerfassungsstrategie
1. Proxies wählen
- Residential proxies für geschützte Websites (Amazon, eBay)
- Datacenter-Proxies für einfache Websites
- Geo-Targeting für regionale Preise
2. IP-Rotation
# New IP for each product
for product_url in products:
proxy = get_rotating_proxy()
price = scrape_price(product_url, proxy)
save_price(product_url, price)
3. Verhaltensnachahmung
import random
import time
# Random delays
time.sleep(random.uniform(2, 5))
# Different User-Agents
headers = {'User-Agent': random.choice(user_agents)}
Code-Beispiel
import requests
from bs4 import BeautifulSoup
def get_price(url, proxy):
proxies = {
'http': f'http://user:pass@{proxy}',
'https': f'http://user:pass@{proxy}'
}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...'
}
response = requests.get(url, proxies=proxies, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
# Amazon example
price = soup.select_one('.a-price-whole')
return price.text if price else None
# Usage with rotation
from gproxy import ProxyPool
pool = ProxyPool(api_key='your_key')
for product in products:
proxy = pool.get_proxy(country='US')
price = get_price(product['url'], proxy)
print(f"{product['name']}: ${price}")
Empfehlungen
- Last verteilen — nicht mehr als 1 Anfrage pro Sekunde pro Domain
- Caching verwenden — dieselbe URL nicht oft parsen
- Qualität überwachen — Datenaktualität prüfen
- robots.txt respektieren — oder auf Konsequenzen vorbereitet sein
- Historie speichern — für Trendanalysen
Tools
- Scrapy + Proxy-Middleware
- Selenium für JS-Rendering
- Playwright als Alternative
- Fertige Lösungen: Price2Spy, Prisync