Extraire de Zillow les transactions d'un agent
Un profil d'agent Zillow liste les transactions auxquelles cet agent a pris part, sous forme de cartes que l'on fait défiler. Le Scraper de transactions Zillow en fait des lignes. L'entrée est une URL zillow.com/profile/ - un agent, pas une annonce ni une recherche -, collée une par ligne ou importée dans un fichier CSV, XLSX, TXT ou Parquet, et chaque transaction du profil revient sous forme d'enregistrement avec l'adresse, le prix, le type et le statut de la transaction, la date, les chambres, les salles de bain, la surface, le type de bien, le côté représenté par l'agent et un lien vers l'annonce. Treize colonnes, une ligne par transaction, chacune étiquetée avec l'URL de profil dont elle provient - un fichier couvrant une agence entière se redécoupe donc proprement par agent.
Une chose doit être dite avant de planifier une exécution. Zillow est derrière PerimeterX, et une exécution sans proxy résidentiel ne renvoie rien. Pire, elle ne vous le dit pas : la tâche se termine avec succès et vous remet la ligne d'en-tête de treize colonnes sans données en dessous, ce qui ressemble exactement à un agent qui n'a aucune transaction affichée. Tous les exports que nous détenons pour ce service sont dans cet état, comme tous ceux de nos deux autres services de profil Zillow, sur des exécutions réparties sur plusieurs mois, et c'est pourquoi l'exigence figure en haut de cette page plutôt qu'en note de bas de page.
Cela a une conséquence assumée sur ce que cette page affirme. Les noms de colonnes sont confirmés et le contenu des cellules ne l'est pas. Les treize noms et leur ordre sont corroborés par deux sources indépendantes - la ligne d'en-tête XLSX de cinq exécutions distinctes et le tableau de colonnes publié -, vous pouvez donc bâtir un schéma autour d'eux en confiance. Mais nous ne vous dirons pas dans quel format arrivent price ou date, quel vocabulaire utilisent transaction_type, status et property_type, ni si beds, baths et sqft sont des nombres ou des chaînes, parce que nous n'en avons jamais vu un seul renseigné. Ce qui est vérifiable à partir du seul en-tête, c'est que transaction_type et status sont deux colonnes distinctes et non deux noms pour une seule.
Sur la question juridique : les transactions sont publiées sur un profil public et, dans la plupart des États américains, les transactions immobilières relèvent du registre public - mais les conditions d'utilisation de Zillow restreignent l'accès automatisé, et c'est cela qui gouverne, pas le caractère public de la page. Lisez-les avant de monter en charge. Notez aussi qu'il n'y a nulle part de colonne de contact dans cet export : il vous dit ce qu'un agent a vendu, pas comment le joindre. Commencez gratuitement : vos 500 premières lignes ne coûtent rien et ne demandent aucune carte bancaire, ensuite c'est 0,002 $ par ligne, tarif unique - le proxy résidentiel étant un coût distinct, à votre charge.