
La capture de données sans IP proxy ne peut pas vraiment fonctionner.
Les frères engagés dans les crawlers de réseau comprennent que le mécanisme anti-escalade du site cible est de plus en plus impitoyable, les minutes IP ordinaires devant être bloquées. Cette fois, nous devons nous appuyer sur l'IP proxy pour jouer à la guérilla. Aujourd'hui, nous allons vous apprendre comment utiliser l'IP proxy et le robot crawler pour obtenir une part du gâteau.
Les trois axes fondamentaux du crawling automatisé
Première hacheLe pool dynamique d'adresses IP doit être suffisamment important. Tout comme le jeu qui consiste à avoir suffisamment de bouteilles de sang, nous devons disposer d'un pool d'adresses IP qui peut être modifié à tout moment. Ici, nous devons nous assurer que nos propres frèresipipgoSon pool d'adresses IP est mis à jour plus de 500 000 fois par jour avec tous les types de protocoles.
Deuxième hache.La fréquence des requêtes doit être délicate. Ne vous contentez pas de demandes fixes par seconde, essayez plutôt des intervalles aléatoires (0,5 à 3 secondes).
Troisième hache.L'en-tête de la requête doit être modifié. Changez aléatoirement l'agent utilisateur pour chaque requête afin que le site pense que vous êtes une personne différente qui visite le site.
import requests
from bs4 import BeautifulSoup
import random
import time
def smart_crawler(url) :
proxies = {
'http' : 'http://user:pass@gateway.ipipgo.com:9020',
'https' : 'http://user:pass@gateway.ipipgo.com:9020'
}
headers = {
'User-Agent' : random.choice(UA_LIST)
}
time.sleep(random.uniform(0.5, 3))
response = requests.get(url, proxies=proxies, headers=headers)
Voici le code d'analyse...
Cas pratique : robot de surveillance des prix du commerce électronique
J'ai récemment aidé un ami à se procurer un robot comparateur de prix, principalement pour observer les fluctuations de prix d'un certain trésor à l'est. Avec le proxy résidentiel dynamique d'ipipgo, avec la table de configuration suivante, il a fonctionné de manière stable pendant deux mois sans se renverser :
| assemblages | Programme de configuration |
|---|---|
| Type IP | Agents résidentiels dynamiques |
| concurrence | 10 fils |
| intervalle de demande | 5-15 secondes au hasard |
| échouer et réessayer | 3 commutation automatique de l'IP |
Foire aux questions QA
Q : Que puis-je faire pour remédier à la lenteur de la vitesse IP du proxy ?
R : Vérifiez d'abord le type de protocole, le protocole socks5 d'ipipgo est généralement plus rapide que le protocole http de 30%. Il faut ensuite choisir un nœud proche du serveur cible.
Q : Comment puis-je tester la qualité des procurations ?
R : Il est recommandé d'utiliser l'interface de test fournie par ipipgo pour obtenir directement l'anonymat et le temps de réponse de l'IP. Vous pouvez tester de cette manière si vous écrivez votre propre script :
Adresse de test = "https://test.ipipgo.com/ipinfo"
Temps de réponse = requests.get(test address, proxies=proxy).elapsed.total_seconds()
Choisir le bon fournisseur de services proxy, c'est la moitié de la bataille
Le marché est un mélange de fournisseurs de services d'agences, et il est recommandé de se concentrer sur ces trois points :
1. s'il y a une salle de serveurs construite par l'entreprise elle-même (ipipgo a 8 salles de serveurs construites par l'entreprise elle-même dans le pays)
2. s'il est possible de payer à l'utilisation (il est conseillé aux débutants de commencer par l'offre d'expérience d'ipipgo)
3. si la documentation de l'API est complète (sa documentation à domicile peut être lue même par des élèves de l'école primaire)
Enfin, un conseil : ne soyez pas trop gourmand et bon marché avec un agent libre, une légère fuite de données, un compte lourd est bloqué. Avec ipipgo cette armée régulière, hors du problème peut aussi trouver la fille du service client qui râle, ça ne sent pas bon ?

