
Pourquoi utiliser une adresse IP proxy pour obtenir les tarifs de Zillow ?
Les confrères qui se sont livrés à l'exploration de données savent que le mécanisme anti-escalade des plateformes immobilières telles que Zillow est plus strict que les portes des cellules. Les utilisateurs ordinaires peuvent vérifier quelques séries d'annonces, mais si vous voulez suivre la tendance des prix de l'immobilier, vous devez vous reporter à votre liste noire d'adresses IP. C'est le moment de s'en remettre àProxy IP pour la guérilla--Changer l'adresse IP à chaque demande pour faire croire au site que c'est une personne différente qui vérifie les données.
Pour citer un cas réel : l'année dernière, un ami qui faisait de l'analyse de biens immobiliers à l'étranger a utilisé sa propre connexion à large bande pour faire des prises de vue pendant trois heures d'affilée ; le lendemain, il a constaté que son adresse IP était bloquée de manière permanente et qu'il ne pouvait même pas consulter les listes de biens immobiliers. Plus tard, il est passé à un agent résidentiel dynamique, et ce n'est qu'à ce moment-là qu'il a pu dépouiller les données relatives à la fluctuation des prix de l'immobilier sur une période de six mois.
Les trois pièges du choix d'une IP proxy
Il existe une pléthore de fournisseurs de proxy sur le marché, mais aucun des 90% n'est adapté à la capture d'un cas difficile comme Zillow :
| typologie | taux de réussite | Scénario |
|---|---|---|
| Centre de données IP | ★☆☆☆☆ | Sites d'information générale |
| IP résidentielle statique | ★★★☆☆☆ | médias sociaux |
| IP résidentielle dynamique | ★★★★★ | Zillow/Redfin, etc. |
C'est là que le bât blesse.Agents résidentiels dynamiquesLes adresses de ce type de pool IP sont toutes de véritables adresses domestiques à large bande et changent automatiquement à chaque demande. Comme le service ipipgo que nous utilisons, il y a unModèle de rotation intelligentIl peut automatiquement ajuster la fréquence de remplacement de l'IP en fonction de la force de l'anti-escalade du site web, et le taux de réussite de la capture de Zillow peut monter en flèche de 20% à plus de 85%.
Configuration pratique des serveurs mandataires (proxy crawlers)
Voici une démonstration en Python, n'oubliez pas d'installer la bibliothèque requests au préalable :
importation de requêtes
from itertools import cycle
Le format des proxies fournis par ipipgo
proxies_pool = [
"http://用户:密码@gateway.ipipgo.com:20000",
"http://用户:密码@gateway.ipipgo.com:20001", ...
... Plus de nœuds de proxy
]
proxy_cycler = cycle(proxies_pool)
url = "https://www.zillow.com/homes/for_sale"
for page in range(1, 100) : proxy = next(proxy_cycler)
proxy = next(proxy_cycler)
try : response = requests.get(url, proxies={"http")
response = requests.get(url, proxies={"http" : proxy}, timeout=10)
Ajouter la logique d'analyse ici...
except Exception as e.
print(f "Rollover avec {proxy}, message d'erreur : {str(e)}")
Notez deux détails :
1) Ne réglez pas le délai d'attente trop court, 8 à 15 secondes sont recommandées.
2. marquer l'IP problématique après chaque échec, l'arrière-plan d'ipipgo peut automatiquement bloquer le nœud défectueux
Éviter l'opération peu glorieuse du backcrawling
Zillow utilisera désormais ces tactiques pour attraper les gens :
- Détection des mouvements de la souris (facile à atteindre avec le sélénium)
- ▎ Analyse du temps d'attente de la page (ne pas utiliser de délais fixes, dormir de manière aléatoire pendant 0,5 à 3 secondes)
- Identification de la signature de l'en-tête de la demande (n'oubliez pas d'utiliser la fonction de camouflage de l'en-tête de la demande d'ipipgo)
Voici une astuce diabolique : insérer aléatoirement dans le crawler.Termes de recherche courants pour les agents immobiliersPar exemple, des mots-clés tels que "3b2b" et "move-in ready", qui ne sont utilisés que par des utilisateurs réels, peuvent réduire efficacement la probabilité d'être reconnu.
Le puits de nettoyage des données
Les données brutes saisies sont comme une maison de campagne, il faut s'y reprendre à deux fois :
Gestion des conversions d'unités de prix
def clean_price(text).
if '10,000' in text : return float(text.replace('10,000',''))
return float(text.replace('million','')) 10000
Traitement des cas avec des signes du dollar...
centreCourbe de prix historiqueZillow cachera les changements de prix dans une div réduite, et il est recommandé d'utiliser XPath avec des expressions régulières pour les extraire.
Foire aux questions QA
Q : Pourquoi le site est-il toujours bloqué après l'utilisation d'un proxy ?
R : 80% des IP ne sont pas de bonne qualité, ou la fréquence des demandes est trop élevée. Passer à ipipgoIP dynamique résidentielPour ce faire, réglez l'intervalle de demande sur 30 secondes ou plus.
Q : Combien d'adresses IP de proxy sont nécessaires pour être suffisantes ?
R : D'après les données que nous avons mesurées, il faut environ 50 adresses IP par rotation pour obtenir 1 000 inscriptions. L'offre pour les nouveaux utilisateurs d'ipipgo comprend 100 adresses IP par jour, ce qui est tout à fait suffisant pour répondre aux besoins des petites et moyennes entreprises.
Q : Comment casser le CAPTCHA lorsque je le rencontre ?
R : Ne perdez pas de temps, arrêtez immédiatement la demande d'IP en cours. Activez le backend ipipgoContournement automatique du CAPTCHAle système passera à l'IP de réserve élevé pour réessayer.
Dites la vérité.
Aujourd'hui, de nombreux tutoriels enseignent aux gens à utiliser des proxys gratuits, ce qui permet d'accéder à des sites Web ordinaires, mais Zillow est à la recherche d'abus. Auparavant, j'ai testé un pool de proxy open source, 200 IP peuvent utiliser moins de 5, une faible efficacité pour douter de la vie. Ensuite, mordre la balle et aller sur la version payante de ipipgo, seulement pour expérimenter ce qui est appeléLaissez le professionnel à l'IP professionnel.
Enfin, j'aimerais vous rappeler à tous que vous devez être vigilants dans la collecte des données, alors ne plantez pas les serveurs des autres. Fixez une fréquence de demande raisonnable, avec un proxy de haute qualité, c'est la voie de la collecte durable de données.

