Je me heurte à une problématique technique pour le scrap de données sur des cartes Open Street Maps.
Je m’explique…
de nombreux sites hébergent des cartes Open Street Map sur lesquelles figurent, par exemple, les adresses et les coordonnées de tous leurs bureaux en France ou dans le monde
Les données s’affichent sous la forme de bulles (points d’intérêt)…mais l’URL reste la même pour toutes les bulles
impossible (?) alors de scraper la liste des URLs pour ensuite récupérer les données
Je pense que ce sujet peut intéresser pas mal de GH non développeurs (comme moi). Alors si vous avez une astuce ou un conseil, je pense que plusieurs d’entre nous seront intéressés.
Merci et bon courage à tous dans le contexte covidesque actuel.
Il y a un petit truc qui cloche, rien que dans le titre de ton sujet… « Scraping Open Street Map », car en fait comme son nom l’indique Open Street Map, c’est de la data ouverte et libre, accessible gratuitement à tous via API.
Du coup, pourquoi vouloir faire du scraping d’un truc open ?
Mea culpa dans ce cas ! Je comprends mieux ton besoin maintenant.
En ce qui me concerne, je ne suis pas fan des soluces GSheets + API, car on tente de faire rentrer des données « non plates » (JSON), dans un format de données tabulaires.
Pour ne répondre qu’à moitié à ta question, sur la partie API pure, oui il y a pléthore de données à récupérer, comme on peut le voir ici:
Sinon, pour les NO CODE, j’avais trouvé une solution (un peu barbare) également :
Aller sur la page qui héberge la carte OSM
Observer le code source pour détecter l’URL de la carte et l’ouvrir dans un nouvel onglet (on se retrouve donc avec la carte en plein écran)
Remplacer tous les paramètres de l’URL en « False » par « True » : permet d’avoir accès à toutes les fonctionnalités d’OSM dont l’export au format GEOJSON
Remplacer l’extension du fichier .GEOJSON téléchargé par .JSON
J’ai bien lu le topic et j’essaie de trouver l’url de cette carte interactive mais j’ai l’impression qu’elle est cachée ou alors c’est simplement moi qui suis mauvais.
Avez-vous une idée pour la trouver ?
J’ai bien suivi les étapes vu dans le screenshots mais je ne trouve pas l’id de la carte.
Je ne suis vraiment pas technique. Pour utiliser curl, on est d’accord qu’il faut installer un logiciel.
Je suis sur macbook et je n’arrive pas à le trouver
Si tu es sur mac, installe déjà https://brew.sh/
Tu cop col dans ton terminal /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Ensuite tu installes curl brew install curl
PS : et homebrew est bourré de petits logiciels bien sympa
J’ai également parcouru le topic mais j’ai également des difficultés pour suivre le process, notamment pour trouver l’url de la carte interactive. Je ne sais pas si c’est protégé ou autre (excusez-moi c’est peut être très basique mais je ne m’y connais absolument pas). Je serais très reconnaissant que quelqu’un m’aide ?
bonjour sde, je ne sais pas si quelqu’un t’a répondu, pour scraper cette carte, pas de protection, il faut utiliser les outils de dev (chrome, firefox …) et trouver la requete qui permet de récupérer les données de la carte. Dans le cas présent c’est une requete « POST », qui envoie des coordonnées lat/lon et récupère la liste des établissements sous forme json. Il est possible d’automatiser le process, mais çà va demander un peu de code, si çà t’intéresse je peux proposer une extraction des données, on peut en discuter en MP
Merci pour ta réponse. Je n’ai actuellement pas encore de solution à mon problème.
L’idée serait d’abord de faire une extraction unique, puis en fonction de la première analyse, automatiser le process ou non.
Peux-tu me contacter en mp (je n’ai pas trouvé comment te contacter en direct)?
bonjour, quand tu tapes un code postal il y a une requete ajax qui renvoie un json, (avec les coordonnées et une distance en paramètres) et en retour tu as les données. Il est donc possible d’automatiser tout çà, mais je pense qu’il y a des solutions plus simples, il y a des bases de données opendata de toutes les mairies sur datagouv
Merci pour ton aide. Malheureusement ce sont uniquement les mairies équipées d’un dispositif de recueil (DR) qui m’intéressent, et c’est la seule carte qui les renseigne…
Je ne suis pas du tout initié au codage pour automatiser tout ça, comment puis-je faire ?