
Pourquoi des avis Yelp dans un scénario réel ?
Un de mes amis, propriétaire d'un restaurant, est récemment venu me voir pour me dire qu'il souhaitait connaître les commentaires des clients sur son établissement. De nos jours, il ne suffit pas de savoir cuisiner, il faut aussi connaître les véritables avis des utilisateurs afin d'améliorer le service, et il y a des milliers d'avis sur Yelp, c'est épuisant de les transcrire manuellement, il faut donc utiliser l'automatisation pour les collecter.
Mais il est facile de bloquer l'IP en ouvrant directement le crawler, surtout en cas de demande continue. L'année dernière, une chaîne de magasins a utilisé une seule adresse IP pour capturer des données, ce qui a déclenché un contrôle des vents qui a entraîné une panne du réseau de toute l'entreprise pendant trois jours, entraînant de lourdes pertes.
Comment les adresses IP proxy peuvent-elles briser cette règle ?
En voici une.Perceptions clésLes mécanismes de blocage de sites web tiennent compte de deux indicateurs principaux : la fréquence des visites et les traces IP. Comme si vous alliez à la banque pour retirer de l'argent, le guichet voit chaque jour des centaines de personnes, mais si la même personne vient à plusieurs reprises en l'espace de dix minutes pour faire des affaires, l'agent de sécurité doit y prêter attention.
Utiliser le service de regroupement de serveurs mandataires d'ipipgo, c'est comme changer de vêtements + de déguisement à chaque fois que vous entrez dans une banque. Cela se fait en trois étapes :
importation de requêtes
from itertools import cycle
Liste des mandataires de ipipgo
proxies = [
"http://user:pass@gateway.ipipgo:9020",
"http://user:pass@gateway.ipipgo:9021".
... Autres nœuds
]
proxy_pool = cycle(proxies)
for page in range(1, 101) : current_proxy = next(proxy_pool)
current_proxy = next(proxy_pool)
current_proxy = next(proxy_pool)
resp = requests.get(
f "https://www.yelp.com/biz/xxx/review_feed?start={page20}",
proxies={"http" : current_proxy}, timeout=8
timeout=8
)
Logique d'analyse des données...
except Exception as e.
print(f "Rollover with {current_proxy} : {str(e)}")
Guide pratique pour éviter la fosse
Ne pensez pas que parce que vous êtes en contact avec un agent, tout va bien se passer.une leçon apprise dans le sang et les larmes: :
1. n'utilisez pas de proxies gratuits (sans parler des vitesses lentes et de la possibilité d'être attaqué par un homme du milieu)
2. changer aléatoirement le User-Agent pour chaque requête, ne pas utiliser la valeur par défaut de Python.
3. contrôler le rythme des visites, il est recommandé que chaque page ait un intervalle de 3 à 8 secondes de dormance aléatoire.
4. s'interrompre immédiatement lorsqu'il rencontre le CAPTCHA et réessayer avec une nouvelle adresse IP.
Recommandé pour ipipgoIP résidentielle statique de longue duréeCe type d'IP avec les attributs d'une véritable large bande domestique est plus difficile à identifier que les IP des salles de serveurs. Le test réel effectué avec ses nœuds résidentiels aux États-Unis a permis de collecter en continu 200 pages avant de déclencher la vérification, alors que l'IP de la salle de serveurs ordinaire n'affiche généralement que 30 pages.
Foire aux questions QA
Q : Est-il légal de recueillir des avis sur Yelp ?
R : En fonction de l'utilisation des données, il est recommandé de ne saisir que le contenu visible par le public et de ne pas l'utiliser à des fins de concurrence commerciale. Il est préférable de consulter un conseiller juridique
Q : Comment choisir un package d'agent pour ipipgo ?
R : Utilisez le forfait "pay-as-you-go" pour les petits projets, et choisissez le forfait mensuel pour les besoins à long terme. Les nouveaux abonnés ne doivent pas oublier d'obtenir le pack d'essai de trafic 3G.
Q : Quel est l'endroit approprié pour stocker les données collectées ?
R : Il est recommandé de le stocker au format CSV, avec des champs contenant le contenu du commentaire, la note et la date. Ne les stockez pas directement dans la base de données, il est facile de laisser des traces de l'opération.
Conseils avancés : acquisition distribuée
Lorsqu'il est nécessaire de collecter des données provenant de plusieurs villes, vous pouvez utiliser le logiciel ipipgoPositionnement au niveau de la villeFonction. Par exemple, pour récupérer des avis sur des restaurants à Los Angeles et à New York, le fait de spécifier séparément les adresses IP de sortie de ces deux villes peut réduire la probabilité d'être récupéré par le moteur de recherche.
Voici un exemple de fiche de configuration :
| ville cible | Domaine de représentation | concurrence |
|---|---|---|
| Los Angeles, Californie | US-LAX | 3 fils |
| NY | US-NYC | 3 fils |
Un dernier rappel : la collecte de données est l'art de l'équilibre, de l'efficacité et de la discrétion. Le choix du bon outil n'est que la première étape, et l'ajustement continu de la stratégie afin d'atteindre une stabilité à long terme. Grâce aux services d'assistance à la clientèle d'ipipgo, les problèmes techniques rencontrés peuvent être directement soumis à leurs ingénieurs pour obtenir des programmes prêts à l'emploi, plutôt que leur propre jet pour économiser des efforts.

