
Quand les crawlers rencontrent Shopify : le casse-tête du proxy pour se déplacer
Le mécanisme d'anti-escalade des boutiques Shopify ressemble à un oignon enveloppé de plusieurs couches. La semaine dernière, il y a eu une analyse concurrentielle des copains, juste saisi 300 pages de produits a été bloqué IP. Cette chose n'est pas nouvelle, mais la solution a une porte d'entrée.
La triple hache anti-crawl de Shopify
Soyons clairs en ce qui concerne l'ensemble de leur défense à domicile :
1. Surveillance de la fréquence d'accès IPAlarme déclenchée par plus de 30 requêtes consécutives par minute en provenance de la même adresse IP.
2. Empreintes digitales des navigateursLes services d'aide à la décision : vérifient l'agent utilisateur, les empreintes digitales de Canvas, et d'autres caractéristiques.
3. Analyse des comportementsLe site web de la Commission européenne : Augmentation soudaine du nombre de visites sur le site de la coupure directe d'électricité
Auparavant, un client faisait des achats au nom du mal et utilisait le réseau de son propre bureau pour mener une lutte acharnée. En conséquence, l'ensemble du segment IP de l'entreprise a été marqué, et maintenant, même l'accès normal au magasin est difficile.
Guide pratique de la sélection de l'IP proxy
Choisir une IP proxy n'est pas comme choisir des choux sur le marché, cela dépend du scénario de l'entreprise :
| besoin des entreprises | Type de recommandation | mise en garde |
|---|---|---|
| Surveillance des prix des produits de base | IP résidentielle dynamique | Ne changez pas à moins de 5 minutes d'intervalle. |
| Collecte par lots d'informations sur les magasins | IP résidentielle statique | Utilisé en conjonction avec la rotation de l'UA |
| Suivi des stocks en temps réel | TK IP dédié | Si vous avez besoin d'une liste blanche, vous pouvez contacter ipipgo pour la personnaliser. |
Se concentrer sur l'action d'ipipgoDynamic Residential (Enterprise Edition)Il peut maintenir une fréquence de demande stable de 15 à 20 fois/minute. Le pool d'adresses IP est doté d'un mécanisme de refroidissement automatique : une adresse IP utilisée 30 fois est automatiquement mise en veille pendant 4 heures.
Manuel d'évitement des pièges de la mise en œuvre du code
La clé pour écrire une version basique d'un crawler en Python est de gérer la rotation des proxy. Voici une façon délicate de le faire : convertir le retour d'API de ipipgo directement en un dictionnaire de proxy.
importation de requêtes
from itertools import cycle
def get_proxies(): :
Interface d'extraction de l'API pour ipipgo
api_url = "https://api.ipipgo.com/your_token"
res = requests.get(api_url)
return cycle(res.json()['proxies'])
proxy_pool = get_proxies()
for page in range(1, 100) : current_proxy = next(proxy_pool)
current_proxy = next(proxy_pool)
try : current_proxy = next(proxy_pool)
response = requests.get(
f "https://target-store.com/products.json?page={page}",
headers={"User-Agent" : "Mozilla/5.0 (Windows NT 10.0 ; Win64)"}, timeout=10
timeout=10
)
Traitement de la logique des données...
except Exception as e.
print(f "Proxy {current_proxy} a échoué, passage automatique au groupe suivant")
Attention à cette fosse :Ne changez pas d'adresse IP à chaque demande, Shopify détectera l'anomalie du saut d'adresse IP. Il est recommandé de la changer une fois toutes les 5 à 8 pages collectées avec un délai aléatoire de 1 à 3 secondes.
Sélection pratique de l'AQ
Q : Que dois-je faire si je rencontre toujours une erreur 403 ?
R : Vérifiez d'abord les trois points suivants : 1) si l'adresse IP du proxy est pure ; 2) si l'en-tête de la requête comporte une empreinte digitale du navigateur ; 3) s'il y a un intervalle d'accès régulier. Il est recommandé d'utiliser la solution IP résidentielle statique + empreinte digitale du navigateur d'ipipgo.
Q : Comment puis-je résoudre le problème de la collecte de boutiques dans plusieurs pays ?
R : Utilisez la fonction de ciblage régional d'ipipgo, par exemple, pour que les boutiques japonaises choisissent le nœud JP. Le temps de latence mesuré par la ligne spécialisée transfrontalière est d'environ 200 ms, soit trois fois plus rapide que les agents ordinaires.
Q : Vous n'arrivez pas à accélérer l'extraction des données ?
R : N'utilisez pas de thread unique ! Il est recommandé de le combiner avec l'IO asynchrone (aiohttp) pour la simultanéité, mais attention à contrôler le nombre de simultanéités. La règle empirique est d'initier 3 connexions par IP en même temps, ce qui est suffisant pour supporter le package Enterprise d'ipipgo.
La bonne façon d'ouvrir l'ipipgo
Ils ont une fonction cachée dans leur maison :Aperçu de l'IP. Les IP nouvellement extraites visitent d'abord quelques pages régulières (comme la page "À propos"), puis commencent la collecte formelle, ce qui peut réduire de manière significative le taux d'interdiction. Les opérations spécifiques peuvent trouver le service clientèle pour demander un "manuel d'apprivoisement de l'IP", cette astuce est utilisée par de nombreux vétérans.
Une suggestion solide sur la sélection des paquets :
- Pour les collectes à petite échelle (<10 000/jour)Norme dynamiqueadéquation
- Nécessité d'un suivi stable et à long terme de la sélectionIP résidentielle statique
- Besoins en données au niveau de l'entreprise directement surDes solutions sur mesureLe coût de 30% ou plus peut être économisé.
Un dernier rappel : n'ajoutez pas de paramètres désordonnés dans l'en-tête de la requête, Shopify est particulièrement sensible aux champs non conventionnels. Shopify est particulièrement sensible aux champs non conventionnels. Garder l'en-tête de la requête propre avec un proxy de qualité est la bonne façon de procéder pour une collecte persistante.

