
Crawler Python pratique pour éviter le blocage des sites
Les adeptes du crawler du vieux réseau ferré ont dû vivre cette scène : il suffit d'écrire un bon script de crawler qui fonctionne bien pour qu'il s'arrête soudainement. À ce moment-là, il est probable que le site cible bloque votre véritable IP ! Ne vous inquiétez pas.Les IP proxy sont le remède à ce problème.. Aujourd'hui, nous allons voir comment utiliser Python + proxy IP pour construire un système de crawler King Kong.
Kit 3 pièces Python Crawler Essentials
Commençons par quelques outils d'exploration reconnus dans les cercles Python :
Demandes(Simple et facile à suivre),Ferraille(cadre de qualité professionnelle),Sélénium (informatique)(contre les pages web dynamiques). Chacun de ces trois types a ses propres astuces, mais aucun d'entre eux ne peut le faire sans l'aide d'un proxy IP.
Exemple de proxy de requêtes
importer des demandes
proxies = {
'http' : 'http://用户名:密码@ipipgo proxies:port',
'https' : 'https://用户名:密码@ipipgo proxy address:port'
}
response = requests.get('destination URL', proxies=proxies)
Proxy IP : des compétences en situation réelle ouvertes au public
Il ne suffit pas de pouvoir utiliser un proxy.Ne marchez pas sur ces nids-de-poule.: :
1. ne pas utiliser de proxies gratuits (lents et peu sûrs)
2. n'oubliez pas de fixer un délai d'attente (3-5 secondes recommandé)
3. changer de User-Agent de manière aléatoire (le site sera rancunier)
4. ne pas être dur en matière de CAPTCHA (ne pas hésiter à passer par une plateforme de codage).
| Type d'agent | Scénarios recommandés |
|---|---|
| IP dynamique de courte durée | Acquisition de données à haute fréquence |
| IP statique de longue durée | Sites web nécessitant une connexion |
Pourquoi choisir le service proxy d'ipipgo ?
Il existe de nombreux fournisseurs de services de procuration sur le marché, mais lesipipgo dispose de trois brosses.: :
1. couverture de plus de 300 nœuds urbains dans tout le pays (même dans les régions éloignées)
2. technologie exclusive de détection de survie IP (remplacement automatique des lignes interrompues)
3. supporter le double protocole HTTPS/Socks5 (quel environnement peut être utilisé)
4. fournir une interface API propriétaire (à la demande et sans gaspillage)
Questions fréquemment posées Trousse de premiers secours
Q : Que dois-je faire si l'IP proxy ne fonctionne pas après l'avoir utilisé ?
R : Il est recommandé d'utiliser la fonction de rotation automatique d'ipipgo, dont le pool d'adresses IP est automatiquement actualisé toutes les 5 minutes, ce qui ne laisse aucune chance au site web de bloquer l'adresse IP.
Q : Comment vérifier si le proxy IP est efficace ?
R : Testez-le d'abord avec ce code :
demandes d'importation
test_url = 'http://httpbin.org/ip'
response = requests.get(test_url, proxies=proxies)
print(response.text) L'IP affichée ici ne devrait pas être l'IP locale.
Q : Le crawler doit-il avoir plus d'un agent ouvert en même temps ?
R : C'est indispensable ! Nous recommandons d'utiliser le paquet concurrentiel d'ipipgo, leur pool d'IP supportePlus de 100 commutateurs par secondeparfaitement adapté aux besoins des robots d'indexation distribués.
La solution ultime pour la configuration du Crawler
J'ai une recommandation à faire à tous les conducteurs chevronnés.combinaison dorée: :
Scrapy framework + ipipgo proxy middleware + random request header. Configuré de cette manière, le site ne peut pas savoir si vous êtes une personne réelle ou une machine, l'efficacité de la collecte est directement tirée vers le haut !
Exemple de configuration de l'intergiciel Scrapy
classe IpipgoProxyMiddleware.
def process_request(self, request, spider).
request.meta['proxy'] = 'http://ipipgo动态API地址'
Ajout automatique des informations d'authentification
request.headers['Proxy-Authorisation'] = basic_auth_header('Account', 'Password')
Pour conclure, je dirai que s'intéresser aux reptiles, c'est un peu comme mener une guérilla.La propriété intellectuelle est votre munition.. Si vous utilisez un service proxy fiable comme ipipgo, la collecte des données sera à moitié réussie. Si vous ne comprenez pas quelque chose, n'hésitez pas à jeter un coup d'oeil sur leur site officiel, la documentation est écrite de manière très pratique.

