Je me demandais s’il était possible de scraper la liste des exposants Salon du Made in France (MIF) en conservant leurs attributs (ici Région et Secteur d’activité) ?
J’ai réussi rapidement à extraire toute la liste grâce au plugin Webscraper, (plus de 1000 noms de boite) mais si je veux aussi pouvoir filtrer les entreprises de la région « Auvergne Rhone Alpes » Secteur « Service », je vois pas d’autre solution que de faire un scraping pour chaque filtre et de tout regrouper dans le tableur.
Y’a t il un moyen de trouver les attributs (Région et Secteur) des boites sans passer par leur système de filtre (genre dans l’URL ou ailleurs) ?
Pour ça j’ai déjà fait un petit tour dans l’inspecteur d’élément, et les régions sont associées à des nombres, exemple 224 = Auverge Rhone Alpes et pour les services pareil exemple 109409 = services.
Mais j’ai pas pu trouver comment utiliser ces infos (dans l’URL d’un exposant, y’a toujours à la fin « 234174 » et un autre nombre avant, mais pas trouvé de lien avec les nombres dans les filtres)
Tout est dans le HTML, la balise principale de chaque exposant se présente comme ceci : <div data-name="adventys" data-secteurs="##333##" data-region="233" class="col-sm-4 exposants-item item-271365 " data-firstletter="65" style="display: block;">
Tu peux y voir le data-region="233"
ou data-secteurs="##333##"
L’affichage ou non d’un exposant avec les filtres est géré en JS (en clair, indenté et commenté !) :
if (secteur && secteur != 'null') {
// On affiche ceux qui ont le secteur (et ceux qui n'ont pas la class block)
jQuery('.exposants-item[data-block!=1]').hide(); // on cache tout ce qu'on peut
jQuery('.exposants-item[data-secteurs*="' + secteur + '"][data-block!=1]').show();
// Certains ont été caché à cette occasion
jQuery('.exposants-item:hidden').attr("data-block", 1);
}
if (region && region != 'null') {
jQuery('.exposants-item[data-block!=1]').hide(); // on cache tout ce qu'on peut
jQuery('.exposants-item[data-region="' + region + '"][data-block!=1]').show();
// Certains ont été caché à cette occasion
jQuery('.exposants-item:hidden').attr("data-block", 1);
}
Il suffit juste de parser le code de la page que tu as donné et de récupérer les attributs HTML correspondants.