
Combien de nids-de-poule avez-vous traversés avec des crawlers de proxy gratuits ?
Récemment, un ami commerçant en ligne s'est plaint à moi d'avoir passé deux jours à utiliser un crawler pour repérer le prix des concurrents, et le résultat a été que l'adresse IP a été bloquée juste une demi-heure après le début de l'exécution. Cette scène ne vous est pas particulièrement familière ? Beaucoup de gens pensent que l'utilisation d'un proxy gratuit peut résoudre le problème, les résultats trouvés dans le pool de proxy gratuit de 10 IP 8 ne peut pas se connecter, les 2 restants vitesse que l'escargot est encore lent.
J'ai essayé un certain projet de pool de proxy open source, j'ai récupéré plus de 200 IP gratuites, seules 3 fonctionnent réellement. Ce qui est encore plus pitoyable, c'est que certains proxysModifier le contenu de la réponsePar exemple, l'insertion de publicités dans les pages web, ou le renvoi direct de fausses données. Le plus beau, c'est que j'ai rencontré un proxy d'hameçonnage inversé, qui a soudainement basculé vers un site d'épinards alors que je l'utilisais...
Construction pratique de roues
Il n'est pas difficile d'écrire son propre proxy crawler, voici un cadre de script pratique. Le cœur des trois étapes : crawl → vérification → dans la bibliothèque. Si vous utilisez Python, 30 lignes de code seront capables de gérer les fonctions de base :
import requests
from bs4 import BeautifulSoup
sources = [
'https://www.freeproxylists.net/', 'https://www.freeproxylists.net/', 'https://www.freeproxylists.net/'
'https://proxyscrape.com/free-proxy-list'
sources = [ '', '' ]
proxies = []
for url in sources.
try : resp = requests.get(url, timeout=10)
resp = requests.get(url, timeout=10)
soup = BeautifulSoup(resp.text, 'lxml')
Ici, nous écrivons la logique d'analyse basée sur la structure du site.
Exemple : Extraction des IP et des ports
rows = soup.select('table tr')
for row in rows[1 :]: : ip = row.select_one_port
ip = row.select_one('td:nth-child(1)').text
port = row.select_one('td:nth-child(2)').text
proxies.append(f"{ip}:{port}")
except Exception as e.
print(f "Crawl failed : {url} - {str(e)}")
return proxies
Mettre l'accent sur le lien de validation, que beaucoup de débutants ignorentDétection du type de protocoleCertains proxys sont clairement indiqués comme étant disponibles en HTTPS, mais en réalité ils ne prennent en charge que le HTTP. Il est recommandé de vérifier cela avec plusieurs sites cibles, par exemple en testant l'accès à Baidu (HTTP) et à Zhihu (HTTPS) en même temps.
Déjeuner gratuit ou cuisine professionnelle
Pour être honnête, les proxys gratuits sont bons pour des tests temporaires ou une utilisation peu fréquente. Si vous voulez vraiment vous engager dans le crawling au niveau de l'entreprise, vous devez faire appel à des services professionnels. Prenons par exemple les proxys résidentiels dynamiques d'ipipgo, qui utilisent le pool d'adresses IP de l'opérateur local ; ces trois avantages ne sont tout simplement pas comparables à ceux des proxys gratuits :
| terme de comparaison | Agents libres | ipipgo |
|---|---|---|
| taux de réussite | <10% | >99% |
| réactivité | 2-10 secondes | <1 seconde |
| Pureté IP | polyvalent | Accès exclusif |
Ils en ont un.Routage intelligentPar exemple, si vous voulez escalader le site japonais de Rakuten, le système attribuera automatiquement l'IP résidentielle de Tokyo ou d'Osaka, vous n'aurez pas besoin de changer manuellement.
Le temps de l'AQ : ce que vous pourriez vouloir demander
Q : Est-il vrai que les proxys gratuits ne fonctionnent pas du tout ?
R : Les cas d'urgence sont acceptables, mais il faut faire un bon travail pour réessayer le mécanisme. Il est recommandé de régler la commutation automatique à trois reprises, et le délai d'attente ne doit pas dépasser 5 secondes.
Q : Comment choisir un forfait pour ipipgo ?
R : Les utilisateurs individuels choisissent la version standard dynamique, 7,67 yuans / Go suffisent pour escalader des centaines de milliers de pages. Les entreprises utilisent directement le programme personnalisé et disposent d'un canal exclusif pour éviter le blocage de l'IP !
Q : Prend-il en charge le protocole socks5 ?
R : Tous leurs produits supportent HTTP/HTTPS/Socks5, il suffit de cocher le type de protocole directement dans le client, sans avoir à modifier le code.
Un guide pour éviter le gouffre (faits marquants)
Enfin, j'aimerais partager trois leçons sanglantes :
1. ne jamais écrire d'IP proxy morte dans le code du crawler, il faut utiliser le mécanisme de polling
2. ne pas se battre avec le CAPTCHA, changer d'IP immédiatement.
3. disposer d'au moins deux fournisseurs mandataires pour les projets importants, le programme ipipgo + standby étant le plus solide
À ce propos, il convient de mentionner l'article d'ipipgo intituléMécanismes de compensation des défaillancesSi une demande d'IP échoue, non seulement l'IP est automatiquement remplacée par une nouvelle, mais le crédit de trafic est également restitué. Ce détail est particulièrement intéressant pour les projets d'exploration à long terme et permet d'économiser beaucoup d'argent.

