
Tout d'abord, pourquoi votre crawler est-il toujours attiré par le site ?
Les amis des crawlers comprennent que le plus grand mal de tête est juste de courir deux minutes, l'IP est scellée à mort. Le site n'est pas un imbécile, voir la même demande de folie IP, directement fermer le chien. En ce moment, vous devez trouver un remplaçant pour vous aider à porter la mine -IP proxyC'est un excellent choix.
En tant que marron, vous voulez attraper le prix d'une certaine plateforme de commerce électronique. Utilisez votre propre haut débit à domicile pour demander 50 fois, le serveur vous donnera immédiatement un sceau. Si vous changez d'adresse IP à chaque demande, le site ne peut pas savoir s'il s'agit d'une personne réelle ou d'un programme.furtivité distribuée.
importation de requêtes
from itertools import cycle
Interface API fournie par ipipgo (n'oubliez pas de le remplacer par votre propre compte)
proxy_pool = [
'http://username:password@gateway.ipipgo.com:8001',
'http://username:password@gateway.ipipgo.com:8002'
]
proxy_cycle = cycle(proxy_pool)
for page in range(1, 101) :
try : proxy = next(proxy_cycle).
proxy = next(proxy_cycle)
response = requests.get(
f'https://example.com/products?page={page}',
proxies={'http' : proxy}, timeout=10
timeout=10
)
print(f'Page {page} capturée avec succès')
except.
print('Cette IP est bloquée, passez à la suivante maintenant')
Deuxièmement, comment choisir un proxy IP fiable ?
Le marché regorge de fournisseurs de services proxy, mais il y a aussi beaucoup de pièges. Certains proxys gratuits ont l'air magnifiques, mais en réalité ils sont plus lents qu'un escargot, et certains d'entre eux sont simplement de fausses adresses IP.Conseils pour éviter les pièges: :
| norme | ligne de passage | performances de l'ipipgo |
|---|---|---|
| réactivité | <2 secondes | 0,8 seconde |
| taux de disponibilité | >90% | 99.3% |
| Taille du pool IP | >1 million | 8 millions + |
| Méthode d'authentification | mot de passe du compte | double cryptage |
C'est là que le bât blesse.Agents résidentiels dynamiquesCe type d'IP est exactement le même que celui des utilisateurs ordinaires, de sorte que le site web ne peut trouver aucune anomalie. Les fournisseurs de services de ce type proposent également des paramètres d'intervalle de changement automatique, et il est recommandé de changer l'IP une fois toutes les 5 à 10 requêtes.
Troisièmement, la main pour vous apprendre à correspondre à l'agent
Prenons l'exemple de la bibliothèque de requêtes de Python, en fait, les principes sont similaires. La clé est de gérer lesMécanisme de rappel des exceptionsNe laissez pas l'ensemble du programme s'effondrer à cause de la défaillance d'une seule propriété intellectuelle.
import random
Importation du temps
def smart_crawler(url) : max_retry = 3
max_retry = 3
for _ in range(max_retry): : _ in range(max_retry).
try.
Choix aléatoire d'un proxy
proxy = random.choice(ipipgo_proxies)
response = requests.get(
url, proxies = {'http' : proxy}, response = requests.get(
proxies={'http' : proxy},
headers=random_headers, n'oubliez pas de déguiser les en-têtes de la requête
timeout=8
)
si response.status_code == 200.
return response.text
except Exception as e : print(f "Erreur : {str(e)}")
print(f "Erreur : {str(e)}")
time.sleep(2) Échec et réessai plus tard.
return None
Regardez ça.sommeil aléatoireLe conseil, ne demandez pas toujours tout le temps, il est facile d'être attrapé par le système anti-escalade du modèle. Il est recommandé de s'arrêter de manière aléatoire entre 2 et 5 secondes pour simuler l'opération d'une personne réelle.
Quatrièmement, le combat réel : le cas de la surveillance des prix du commerce électronique
Supposons que nous voulions suivre les changements de prix de 10 articles sur une plateforme, capturés 3 fois par jour. Directement sur le code sec :
import schedule
from concurrent.futures import ThreadPoolExecutor
product_ids = ['123', '456', '789'] Exemples d'identifiants de produits
def fetch_price(product_id) :
proxy = ipipgo.get_proxy() appel de l'API d'ipipgo pour obtenir une nouvelle IP
try.
resp = requests.get(
f'https://shop.com/product/{product_id}',
proxies={'http' : proxy},
headers={'User-Agent' : 'Mozilla/5.0'}
)
Voici le code pour analyser le prix
save_to_database(product_id, price)
sauf.
ipipgo.report_failure(proxy) signalant les IP qui ont échoué
def job().
avec ThreadPoolExecutor(max_workers=5) as executor.
executor.map(fetch_price, product_ids)
Exécution à 8:00, 14:00 et 20:00 tous les jours
schedule.every().day.at("08:00").do(job)
schedule.every().day.at("14:00").do(job)
schedule.every().day.at("20:00").do(job)
while True : schedule.run_pending()
schedule.run_pending()
time.sleep(1)
Ce programme comporte trois points forts :Accélération multithreadetChangement automatique d'adresse IPetRapports anormaux sur l'IP. L'API avec ipipgo récupère également automatiquement les mandataires non valides afin de garantir que les tâches de collecte ne sont pas interrompues.
V. Foire aux questions AQ
Q : Que dois-je faire si l'IP proxy ne fonctionne soudainement pas ?
R : Changez immédiatement d'adresse IP et contactez votre fournisseur d'accès. Comme ipipgo dispose d'une assistance technique 24 heures sur 24, le temps de réponse est deux fois plus rapide que celui des homologues !
Q : Quel protocole choisir, HTTP ou SOCKS5 ?
R : HTTP est suffisant pour les pages web ordinaires, et SOCKS5 est nécessaire pour transmettre des données cryptées. ipipgo prend en charge les deux protocoles, et l'arrière-plan peut être changé à tout moment.
Q : Y a-t-il une grande différence entre les proxys gratuits et les proxys payants ?
R : La différence entre le ciel et la terre ! La durée moyenne de survie des agents gratuits est inférieure à une heure, alors que les agents payants comme ipipgo IP peuvent être utilisés pendant 3 à 7 jours. N'économisez pas d'argent sur des projets importants !
Q : Pourquoi recommandez-vous ipipgo ?
R : Trois raisons principales : 1. l'IP exclusive ne fait pas la queue 2. 30 provinces dans le pays IP optionnel 3. le trafic n'est pas plafonné. Si vous l'avez utilisé, vous saurez qu'il est bien meilleur que de construire votre propre pool de proxy.
VI. l'état d'esprit ultime de l'anti-scellage
Enfin, voici un conseil.combinaison: :
- Proxy IP + double assurance de l'en-tête de requête aléatoire
- Tâches importantes pour l'ouverture de l'ipipgoModèle de rotation de la propriété intellectuelle
- Contrôler la fréquence des visites, ne pas faire tomber le serveur web.
- Nettoyer régulièrement les cookies, ne pas laisser de petites queues
N'oubliez pas de faire le crawler pourpromouvoir l'éthique militaireNe laissez pas un site dans une impasse. Respectez l'accord sur les robots, les paramètres de délai ne peuvent pas être inférieurs. Utilisez les bons outils et la bonne méthode, recueillez des données pour être un long fleuve tranquille.

