Mais voila, aujourd'hui, j'essaye de faire les mêmes choses mais moi même, mais une question me dérange :
- Comment récupérer les données ?
Un exemple ?
J'ai commencé un tableau csv sur les maisons à louer à Bruxelles, avec ces colonnes :
Commune
Prix de location (€)
Surface habitable (m²)
Taille du terrain (m²)
jardin (oui/non)
nombre d'étages
nombre de façades
nombre de chambres
nombre de salle de bain
nombre de toilette
Pour faire cela, je me suis rendu sur le site immoweb (car leader de la location en Belgique).
Seulement, tout faire à la main m'a pris un temps énorme. En une heure de temps, j'ai fais 15 maisons.
Alors avant d'avoir un nombre suffisants pour exploiter de façons fiable, il faudrait que j'y passe 70 heures !
Du coup, je me pose quand même cette question : Comment font les labos ? Ou bien même Yannis Chaouche ? (l'auteur du cours sur le machine learning) Ils utilisent des centaines, des milliers, parfois des dizaines de milliers de valeur !
Cordialement,
CodeWe is an open-source live code-sharing website.
Après si tu veux en faire un custom, le seul moyen est le webscrapping quand tu n'as pas de BDD à toi.Généralement les sites, ont leur propres data (logique je sais ) donc elles font avec ça, certains les anonymises et les rendent publiques (cf un dataset sur les fraudes à la carte bleue sur Kaggle).
Pour le webscrapping, tu peux utiliser beautifulsoup par exemple.
Cependant, si tu veux apprendre, reste sur les dataset existants, tu as de tout.
Salut Bhasher, j'ai eu exactement la même idée que toi il y a quelques temps, pour immoweb également et j'ai rencontré le même problème que toi : récupérer les données. Comme le dit coni63, le seul moyen c'est de créer un script pour récupérer les infos directement depuis le site.
Puis j'ai cherché un peu plus loin, et j'ai vu qu'il y avait une application mobile pour Android. Si mes souvenirs sont bons, celle-ci utilise une API web (je sais plus si c'est du REST) mais en tous les cas, elle est utilisée par l'application mobile et renvoie les résultats sous forme beaucoup plus simple à extraire (JSON mais pas sûr). Je n'avais pas continué par manque de temps (ou bien j'étais bloqué mais je ne m'en rappelle plus).
J'espère que tu y arriveras et si c'est le cas, ça m'intéresse, tiens nous au courant ! :D
Salut, En effet. Si on vas à cette adresse (Merci wireshark) : https://api.immoweb.be/ on tombe bien sur l'API
Seulement, en analysant la connexion, on voit que tout est fait de façons chiffré (En https quoi). Et la clé publique semble assez longue (+ de 400 caractères) :/
Donc sa ne se fait pas avec un truc du genre immoweb.be?location=bruxelles
Cordialement,
- Edité par Bhasher 2 décembre 2017 à 16:53:29
CodeWe is an open-source live code-sharing website.
Il faut encore copier-coller les données car c'est en JS, et que quand j'ouvre la page en python, elle apparait avec le code JS et non la valeur du JS.
Savez-vous comment je pourrais faire ?
CodeWe is an open-source live code-sharing website.
Mmmmh ok. Mais lorsque tu essayes avec ton browser, tu as bien le résultat en JSON ?
A mon avis, ils ont ajouté quelques contrôles pour éviter qu'on interroge l'url et qu'on récupère facilement les données.
Ces contrôles sont plus que probablement situés au niveau des en-têtes HTTP (car j'ai testé en désactivant le javascript et j'obtiens malgré tout bien le contenu en JSON). Essaye de rajouter les en-têtes HTTP en te basant sur celles envoyées par ton navigateurs (sans en oublier). Ca devrait fonctionner.
Je vois néanmoins qu'il y a des cookies de session associé aux en-têtes, c'est probablement à cause de cela que ça ne passe pas. Mais si tu les spécifies dans les en-têtes, ça devrait aller
Sinon regarde du côté de la librairie 'request' de base dans python3 et de la méthode http_session si mes souvenirs sont bons. Tu ne devrais même pas avoir besoin de les gérer.
Effectivement, ça fait un baille. J'avais trouvé une autre solution au problème, en passant par un autre site de location
Acctuellement, je t'avoue avoir a nouveau un problème de récupération de données, à la différence que je cherche quelque chose de précis, que je n'arrive à trouver.
Je cherche (bêtement) un site qui donne le calendrier de la première ligue au format CSV. (Du premier au dernier match prévu donc).
Ici : http://www.football-data.co.uk/ ils donnent un CSV de tout les matchs passé avec de nombreuses infos, mais pas un calendrier.
De nombreux sitent donnent le calendrier, mais pas en téléchargement, juste en "consultation".
Alors certe, je sais qu'en une heure ou deux, je peux le faire à la mains mais ... je cherche ce calendrier pour 19 divisions. la première ligue n'était qu'un exemple.
Alors à la main, c'est possible mais c'est pas quelques heures que ça va me prendre, mais plusieurs jours.
Merci
PS: Le format CSV est "le mieux" mais tout autre format facile à utiliser en python, tel que le JSON ou autre.
- Edité par Bhasher 19 janvier 2018 à 16:44:39
CodeWe is an open-source live code-sharing website.
CodeWe is an open-source live code-sharing website.
CodeWe is an open-source live code-sharing website.
CodeWe is an open-source live code-sharing website.
CodeWe is an open-source live code-sharing website.
CodeWe is an open-source live code-sharing website.
CodeWe is an open-source live code-sharing website.
CodeWe is an open-source live code-sharing website.
CodeWe is an open-source live code-sharing website.