
Pourquoi l'exploration des données de Yahoo Finance est-elle toujours bloquée ? Essayez ceci.
Récemment, beaucoup d'amis se sont plaints à moi, en utilisant Python pour escalader les données de Yahoo Finance est toujours interdit IP. La semaine dernière, il y a un petit frère quantitatif, il suffit de courir à travers l'histoire de la capture du prix de l'action, le lendemain, l'ensemble du segment IP de l'entreprise ont été retirés noir. Il s'agit en fait d'une bonne solution, la clé étant d'apprendre la "guérilla" - les rondes d'IP par procuration.
Préparez-vous à la réalité : ne soyez pas un coureur nu !
Commençons par un cas réel : l'année dernière, les stagiaires d'une société de fonds ont utilisé directement le réseau de la société pour extraire des données, les résultats ont déclenché le système de contrôle des vents, ce qui a entraîné l'arrêt de toutes les activités d'analyse de données de la société pendant trois jours. Nous devons donc commencer par préparer ces choses :
Ensemble trois pièces indispensable :
- Environnement Python (3.8+ recommandé)
- Bibliothèque des demandes + BeautifulSoup
- Des services de proxy IP fiables (nous verrons plus loin comment les choisir)
Ici, on se concentre sur la sélection de l'IP proxy porte d'entrée. Proxy gratuit pour regarder l'encens, l'utilisation réelle de la fosse à la mort - j'ai vu le plus scandaleux, un pool de proxy gratuit de 30% IP a longtemps été yahoo tiré noir. Cette fois, nous devons chercher des fournisseurs de services professionnels, tels queipipgoElle se spécialise dans les agents de haute qualité, et leur taux de réussite pour les agents résidentiels peut aller jusqu'à 98%.
Configuration de l'IP proxy en pratique : le code à écrire de cette façon
Il s'agit d'un plan de configuration qui a fait ses preuves :
"`python
demandes d'importation
from bs4 import BeautifulSoup
proxies = {
http" : "http://user:password@gateway.ipipgo.com:9020",
'https' : 'http://user:password@gateway.ipipgo.com:9020'
}
headers = {
User-Agent" : "Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64) AppleWebKit/537.36".
}
response = requests.get('https://finance.yahoo.com/quote/AAPL',
proxies=proxies,
headers=headers,
timeout=15)
“`
Prêtez attention à quelquescrête: :
- N'écrivez pas le format du proxy de manière incorrecte, le nom d'utilisateur et le mot de passe doivent être remplacés par vos propres informations d'identification dans le backend d'ipipgo.
- Ne réglez pas le délai d'attente à plus de 15 secondes, ou vous serez facilement repéré par le système anti-escalade.
- Il est préférable de changer de sous-compte pour chaque demande. ipipgo prend en charge la rotation des sous-comptes.
Stratégie de lutte contre la contre-escalade : lutte contre le contrôle du vent
Le système anti-crawl de Yahoo doit être contré par des combinaisons :
| point de risque | programme de fissures |
|---|---|
| Fréquence excessive des demandes | Utilisez l'interface de planification intelligente d'ipipgo pour changer automatiquement d'IP de sortie. |
| Les caractéristiques de l'en-tête sont évidentes | Générer des User-Agents aléatoires, ne pas utiliser toujours le même. |
| Modèles de comportement fixes | Ajouter des temps d'attente aléatoires à l'intervalle de demande |
Pour citer un cas réel de renversement : un copain a écrit un fixe de 5 secondes pour demander un script, les résultats de Yahoo ont directement bloqué le proxy pool de plus de 200 IP. changé plus tard en ipipgoMode d'intervalle dynamique(délai aléatoire de 1 à 10 secondes) et n'a plus jamais eu de problème.
Pièges courants AQ
Q : Que dois-je faire si j'utilise un proxy et que je suis toujours bloqué ?
R : Vérifiez d'abord le type de proxy, Yahoo est particulièrement sensible aux IP des centres de données. Passez au proxy résidentiel d'ipipgo, le taux de réussite peut augmenter immédiatement.
Q : Que dois-je faire si je ne parviens pas à saisir toutes les données ?
R : Il peut être déclenché par une vérification humaine. Il est recommandé d'ajouter une détection des anomalies dans le code et de changer automatiquement d'adresse IP lorsque l'on rencontre la page CAPTCHA. L'API d'ipipgo prend en charge le remplacement en temps réel des nœuds de sortie.
Q : L'agent est-il trop lent pour affecter l'efficacité ?
R : N'essayez pas d'acheter un forfait bas de gamme à bas prix, la version professionnelle d'ipipgo dispose d'un canal de bande passante exclusif. Lors d'un test réel, le téléchargement de données historiques de 20 Mo a permis de multiplier la vitesse par plus de trois.
Dites la vérité.
Enfin, j'aimerais dire quelques mots : ne croyez pas ces tutoriels gratuits qui disent que "quelques lignes de code peuvent grimper", et maintenant le système de contrôle du vent des grands fabricants n'est pas végétarien. L'année dernière, une équipe quantitative, en raison de l'utilisation d'agents de mauvaise qualité conduisant à des erreurs de données, la perte directe de plus de sept millions. Les professionnels doivent encore trouver des outils professionnels, comme ipipgo, ce type de services d'agents spécialisés dans la collecte de données financières, l'argent à dépenser, c'est toujours mieux que d'être bloqué par un retard d'IP.
Si le code est bien écrit, il ne sert à rien sans un agent fiable. C'est comme lorsque vous allez à la pêche, la canne à pêche est plus avancée, aucun poisson dans la piscine ne peut être attrapé. La prochaine fois que vous rencontrerez une situation où vous serez banni pour avoir capturé des données, n'oubliez pas de vérifier si le proxy doit être changé en premier lieu.

