
Collecte de données Google avec Python
Engagé dans la collecte de données de la vieille ferraille savent, veulent utiliser Python pour saisir directement les résultats de recherche Google comme un panier d'eau - un gaspillage d'efforts. Le mécanisme anti-escalade de Google est plus strict que le contrôle d'accès à la cellule, il n'y a pas de moyens spéciaux pour y parvenir. Aujourd'hui, nous allons voir comment utiliser le proxy IP, cette arme magique, avec Python pour prendre facilement les résultats de recherche.
Pourquoi ai-je besoin d'une IP proxy en tant que garde du corps ?
Pour donner un marron, vous prenez votre propre IP sauvage brosser Google, comme dans le supermarché même mangé 20 saucisses d'essai gratuit, les gardes de sécurité ne vous regardent pas à regarder qui ? Le système anti-escalade de Google le fera :
1. sceller directement votre IP (blocage)
2. le CAPTCHA pour vous dégoûter
3. renvoyer de fausses données pour vous tromper
C'est dans ce cas qu'une IP proxy est nécessaire.La réserve d'adresses IP dynamiques résidentielles d'ipipgoC'est comme si l'on donnait un nouveau gilet à chaque demande pour que Google pense que c'est un utilisateur différent qui opère à chaque visite.
préparation
Installez d'abord ces deux bibliothèques essentielles
pip install requests-html pandas
Voici la configuration recommandée
Type de proxy = {
"protocole" : "http",
"address" : "ipipgo Dynamic Residential Pool",
"méthode d'authentification" : "nom d'utilisateur+mot de passe"
}
En se concentrant sur les paramètres du proxy, utiliserAPI d'ipipgo pour obtenir des IP dynamiquesLorsque vous le faites, n'oubliez pas d'activer lecommutation automatiqueLa fonction. C'est comme si on menait une guérilla, où chaque demande change de position, et le système anti-escalade n'arrive pas à comprendre le schéma.
Désassemblage de code en situation réelle
from requests_html import HTMLSession
def grab google keyword(keyword) : session = HTMLSession()
session = HTMLSession()
Obtenir le dernier proxy d'ipipgo
proxyConfig = {
"http" : "http://用户名:密码@gateway.ipipgo.cc:端口",
"https" : "http://用户名:密码@gateway.ipipgo.cc:端口"
}
try.
Response = session.get(
f "https://www.google.com/search?q={motclé}",
headers={"User-Agent" : "Mozilla/5.0 (Windows NT 10.0)...".
headers={"User-Agent" : "Mozilla/5.0 (Windows NT 10.0)..."}
)
response.html.render(timeout=20)
Positionnement du bloc de résultats de la recherche
result list = response.html.xpath('//div[@class="tF2Cxc"]')
return [result.text for results in results list]
except Exception as e.
print(f "Rollover : {str(e)}")
Changement automatique d'IP
ipipgo.rotate_ip()
Un guide pour éviter la fosse :
1) Ne soyez pas trop pressé dans l'intervalle de demande, il est recommandé de fixer un délai aléatoire de 2 à 5 secondes.
2. l'agent utilisateur doit être installé comme un navigateur normal
3) Ne soyez pas dur lorsque vous rencontrez le CAPTCHA, changez immédiatement la nouvelle IP d'ipipgo.
Scène de renversement courante AQ
| Symptômes du problème | méthode régler un problème |
|---|---|
| Renvoie un résultat vide | Vérifier si XPath n'est pas à jour, utiliser la fonction de débogage du navigateur d'ipipgo. |
| La connexion ne cesse de s'interrompre. | Changement de protocole proxy (alternativement http/https) |
| Soudain, je ne reçois plus de données. | Ajouter au code le mécanisme de rafraîchissement automatique de l'IP d'ipipgo |
La torture de l'âme :
Q : Puis-je constituer mon propre pool d'agents ?
R : Si vous ne voulez pas connaître les joies du métier d'ingénieur d'exploitation, passez directement à la rubriqueipipgo ready serviceC'est plus économique, leur pool d'IP est mis à jour quotidiennement avec plus de 8 millions d'IP résidentielles, ce qui est beaucoup plus fiable que de le lancer soi-même.
Q : Combien cela coûte-t-il ?
R : ipipgo propose des formules de paiement à l'utilisation telles que39 pour 10G de traficCe type de service est moins cher que la carte mensuelle de Starbucks. Le fait est que leur taux de survie IP peut aller jusqu'à 95%, contrairement à certains fournisseurs de services faisandés qui promeuvent les gens avec des IP pourries.
Clôture du spectacle.
Enfin, un conseil avancé : divisez la tâche de collecte en plusieurs sous-tâches, à l'aide de la fonctionPlusieurs IP géographiques pour ipipgoOuverture simultanée à l'engagement. Par exemple, si vous souhaitez collecter des résultats de recherche provenant de différentes régions, vous pouvez les collecter en même temps avec les adresses IP des États-Unis, du Japon et de l'Allemagne, et l'efficacité sera directement triplée.
N'oubliez pas les éléments essentiels :
1) La qualité de la représentation fait la différence
2. des paramètres de demande à charger avec des personnes réelles
3. la gestion des exceptions n'est pas une option
Selon cet ensemble de règles, la collecte des résultats de recherche de Google s'apparente à un jeu. S'il y a quelque chose que vous ne comprenez pas, allez directement sur le site officiel d'ipipgo pour trouver leur petit frère technique, la vitesse de réponse est plus rapide que le livreur pour livrer de la nourriture.

