
Quand le crawler rencontre BeautifulSoup : la bonne façon d'ouvrir le proxy IP
Lorsque vous utilisez Python pour faire du crawling de données, il est probable que vous ayez rencontré la situation d'anti-crawling de site web. Bien que BeautifulSoup puisse analyser la page web, mais il n'y a pas de pool d'IP proxy fiable pour le supporter, il sera le site cible noir en quelques minutes. Aujourd'hui, nous allons parler de la façon de créer un proxy IP et de BS4, cette paire de bons amis avec du travail.
Pourquoi les adresses IP proxy sont-elles indispensables aux robots d'indexation ?
Pour donner un exemple concret : le mois dernier, un frère a fait une comparaison de prix dans le commerce électronique, BS4 a capturé les données de prix d'une plate-forme, les résultats ont été exécutés pendant deux jours et l'adresse IP a été bloquée. Plus tard, le scriptAvec un pool d'adresses IP de proxy dynamiqueLe temps de survie est directement multiplié par 20. C'est là que le bât blesse :Les adresses IP fixes sont comme des cibles vivantes, la rotation des adresses IP est la meilleure solution..
import requests
from bs4 import BeautifulSoup
proxies = {
'http' : 'http://user:pass@proxy.ipipgo.com:30001',
'https' : 'http://user:pass@proxy.ipipgo.com:30002'
}
response = requests.get('https://target.com', proxies=proxies)
soup = BeautifulSoup(response.text, 'html.parser')
C'est ici que vous commencez votre opération d'analyse...
Guide pratique pour éviter la fosse
Un piège dans lequel de nombreux débutants ont tendance à tomber est le suivantLa validation du proxy n'est pas effectuée correctement.. N'oubliez pas d'ajouter un lien de vérification dans le code, comme ceci :
def check_proxy(proxy).
try.
test_url = "http://httpbin.org/ip"
resp = requests.get(test_url, proxies=proxy, timeout=10)
return True if resp.status_code == 200 else False
return False if resp.status_code == 200 else False
return False
Voici une petite astuce : utilisez la fonctionIP statique de longue duréeLe fait d'être un nœud vérifié est beaucoup plus stable que l'utilisation d'IP gratuites. Le taux de réussite de leur pool d'IP exclusif peut aller jusqu'à 99%, ce qui est testé comme étant plus fiable que le pool partagé.
Comment choisir un type de procuration sans marcher sur la ligne ?
| typologie | Scénarios applicables | Programme recommandé |
|---|---|---|
| IP dynamique de courte durée | Acquisition de données à haute fréquence | Les paquets de commutation d'ipipgo en quelques secondes |
| IP statique de longue durée | Sites nécessitant une connexion | ipipgo Service IP dédié |
Questions fréquemment posées
Q : Que dois-je faire si l'adresse IP de mon proxy est souvent dépassée ?
R : 80% utilise un proxy de mauvaise qualité, changez la ligne de niveau entreprise d'ipipgo pour essayer. Ils ont une fonction de routage intelligente qui évite automatiquement les nœuds encombrés.
Q : Que se passe-t-il si j'ai besoin d'un CAPTCHA ?
R : En liaison avec l'initiative de l'ipipgoIP à forte valeur ajoutéeLe CAPTCHA sert à réduire la probabilité d'être reconnu. La probabilité de déclencher un CAPTCHA avec une grande quantité d'adresses IP dans le même scénario commercial est réduite de 60%.
Q : Pourquoi recommandez-vous ipipgo ?
R : Les données mesurées dans le cadre de leur propre projet : saisie continue d'une plate-forme de commerce électronique pendant 30 jours, l'agent ordinaire a été bloqué 47 fois, le changement d'adresse IP n'a été déclenché que 2 fois pour vérification. Leur pool d'IP domestique aMélange de trafic d'utilisateurs réelscaractéristiques qui sont plus difficiles à identifier que les IP des salles de serveurs.
Dites quelque chose qui vient du cœur.
Si vous êtes dans le domaine des crawlers, n'économisez pas d'argent sur les IP proxy. J'ai vu une équipe utiliser un proxy gratuit pour économiser de l'argent, les résultats du projet sur la ligne en une semaine ont été bloqués plus de 200 IP, et ont finalement retardé la progression de la perte. Comme ipipgo, les fournisseurs de services professionnels peuvent fournir des services quotidiens de gestion des adresses IP.Des dizaines de millions de ressources IPLe coût d'une seule demande n'est que de quelques centimes, ce qui est la bonne posture pour un projet.

