ParuVendu Ventes Immobilières

URL: https://www.paruvendu.fr/immobilier/vente/

Extrait dans un fichier CSV les annonces immobilières de ParuVendu en séparant les différentes informations

Description

Ce script permet à partir d'une localisation et d'un rayon de regrouper dans un tableur autant de données immobilières que souhaité. Le script ne traite que les ventes de maisons.

Il est possible avec des développements supplémentaires d'aller bien plus loin.

Le script extrait :
- le titre de l'annonce
- la localisation
- le prix
- le descriptif
- la photo principale
- le lien direct vers l'annonce

Initial script (INITIAL)

//WIZ_TITLE ParuVendu.fr

codesINSEE = "75101"; //WIZ_VARIABLE #name:Codes INSEE des villes séparés par des virgules #text
//WIZ_COMMENT Vous devez indiquer les codes INSEE des villes de la recherche. Attention il ne s'agit pas des codes postaux. Pour trouver un code INSEE cherchez le sur le site de linternaute.com. Ces codes sont aussi accessibles après avoir simulé une recherche sur ParuVendu, dans la barre d'adresse après le texte &codeINSEE=
//WIZ_LINK #name:Chercher un code INSEE sur linternaute.com #link:http://www.linternaute.com/ville/
rayon = 5; //WIZ_VARIABLE #name:Rayon en km #number #code:[0,5,15,30,50,100]
nbResultats = 50; //WIZ_VARIABLE #name:Nombre de résultats à extraire


//WIZ_TITLE The CSV
//WIZ_COMMENT While the script is running, never open the CSV directly. It would become read-only, would be inaccessible, and the script would crash. Instead, make a copy and open there to check. 
pathDir = ''; //WIZ_VARIABLE #name:Path of the directory where the CSV must be writtend (leave blank to chose your Desktop)
nameCSV = 'my_export'; //WIZ_VARIABLE #name:Name of the CSV file
deleteCSVstart = true; //WIZ_VARIABLE #name:Remove the CSV on startup if a file already exists


if(!pathDir) pathDir=path("desktop")
pathCSV=pathDir+nameCSV+".csv"

if(deleteCSVstart) delete(pathCSV)


nbPages=ceil(nbResultats/20)

iResultat=0
for(iPage=1;iPage<=nbPages;iPage++)
{
	if(iResultat<nbResultats)
	{
		html=getPage("https://www.paruvendu.fr/immobilier/annonceimmofo/liste/listeAnnonces?tt=1&tbApp=1&tbDup=1&tbChb=1&tbLof=1&tbAtl=1&tbPla=1&tbMai=1&tbVil=1&tbCha=1&tbPro=1&tbHot=1&tbMou=1&tbFer=1&at=1&pa=FR&lol=0&ray="+rayon+"&codeINSEE="+codesINSEE+"&p="+iPage)
		selectAll(".ergov3-annonce",html,"outerHTML").each{ bloc->
			photo=cleanSelect(".imgblur", bloc, "src")
			titre=cleanSelect("h3 span", bloc)
			localisation=cleanSelect("h3 cite", bloc)
			prix=cleanSelect(".ergov3-priceannonce", bloc, null, "price")
			description=cleanSelect("p", bloc)
			lien=cleanSelect(".voirann", bloc,"href")
	
			csv(pathCSV,[
				"Titre de l'annonce":titre,
				"Localisation":localisation,
				"Prix":prix,
				"Descriptif":description,
				"Photo":photo,
				"Lien de l'annonce":"https://www.paruvendu.fr"+lien,
			])
		}
	}
	iResultat++
}


//MATRICULE 28E5