ParuVendu Annonces d'objets

URL: https://www.paruvendu.fr/mondebarras/

Extrait dans un fichier CSV les annonces d'objets de ParuVendu en séparant les différentes informations

Description

Ce script permet à partir d'une localisation, d'un texte de recherche et d'un rayon de regrouper dans un tableur autant de données sur les annonces de vente que souhaité.

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

recherche="table" //WIZ_VARIABLE #name:Nom de l'objet recherché #text
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/mondebarras/listefo/default/default/?fulltext="+urlEncode(recherche)+"&elargrayon=1&ray="+rayon+"&idtag=&r=&libelle_lo=Fons&codeinsee="+codesINSEE+"%2C&lo=&pa=&ray="+rayon+"&zvy=&zvt=&px0=&px1=&zmd%5B%5D=VENTE&zmd%5B%5D=TROC&zmd%5B%5D=DON&zmd%5B%5D=RECH&codPro=&filtre=&tri=&ck-part=on&ck-pro=on&p="+iPage)
		selectAll(".debarras-annonce",html,"outerHTML").each{ bloc->
			photo=cleanSelect(".imgblur", bloc, "src")
			titre=standardizeText(stripTags(removeElement(select("h3", bloc),"cite")))
			localisation=cleanSelect("h3 cite", bloc)
			prix=cleanSelect(".debarras-priceannonce", bloc, null, "price")
			description=cleanSelect("p", bloc)
			lien=cleanSelect("a.globann", bloc,"href")
	
			csv(pathCSV,[
				"Titre de l'annonce":titre,
				"Localisation":localisation,
				"Prix":prix,
				"Descriptif":description,
				"Photo":photo,
				"Lien de l'annonce":lien,
			])
		}
	}
	iResultat++
}



//MATRICULE 1DXD