7
PHP ICN (seconde) Récupération de données sur le Web Le Web-Scraping Introduction Internet est une fabuleuse banque d’informations. Pour une application, il est intéressant de pouvoir récupérer ces informations sur Internet pour les traiter dans ton application. Pour récupérer une masse d’informations rapidement, il est nécessaire d’utiliser un outil pour permettre de récolter ces données plus rapidement qu’une recherche faite par un être humain. Tu vas pouvoir découvrir comment extraire des données automatiquement à partir d’un programme. Le Web-Scraping est une technique qui permet d’extraire des données d’un site Web. Notion de droit Attention, tu ne vas pas faire du « hacking » interdit par la loi. Tu vas récupérer des données de façon automatique à partir de sites qui l’autorisent. http://www.cil.cnrs.fr/CIL/spip.php?rubrique281 Ensuite il faut faire attention de ce qui est fait avec ces données. Identifier des informations dans une pages web Prenons l’exemple de l’évolution d’une action comme celle de SPX&500 On peut aller sur le site : https://fr.tradingeconomics.com/spx:ind Version du 12/11/2017 1/ Julien Launay

Freeicnisnlycee.free.fr/.../big_data_parsing_html/big_data.docx · Web viewDonc, pour trouver automatiquement la valeur de cette action dans la page web, il suffit de chercher la

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Freeicnisnlycee.free.fr/.../big_data_parsing_html/big_data.docx · Web viewDonc, pour trouver automatiquement la valeur de cette action dans la page web, il suffit de chercher la

PHP ICN (seconde)

Récupération de données sur le Web

Le Web-ScrapingIntroduction

Internet est une fabuleuse banque d’informations. Pour une application, il est intéressant de pouvoir récupérer ces informations sur Internet pour les traiter dans ton application.

Pour récupérer une masse d’informations rapidement, il est nécessaire d’utiliser un outil pour permettre de récolter ces données plus rapidement qu’une recherche faite par un être humain.

Tu vas pouvoir découvrir comment extraire des données automatiquement à partir d’un programme.

Le Web-Scraping est une technique qui permet d’extraire des données d’un site Web.

Notion de droitAttention, tu ne vas pas faire du « hacking » interdit par la loi. Tu vas récupérer des données de façon automatique à partir de sites qui l’autorisent.

http://www.cil.cnrs.fr/CIL/spip.php?rubrique281

Ensuite il faut faire attention de ce qui est fait avec ces données.

Identifier des informations dans une pages webPrenons l’exemple de l’évolution d’une action comme celle de SPX&500

On peut aller sur le site : https://fr.tradingeconomics.com/spx:ind

Pour identifier où se trouve l’information du montant de l’action, ici 2582. Il suffit de sélectionner l’information, puis de cliquer bouton droit sur « inspecter »

Version du 12/11/2017 1/ Julien Launay

Page 2: Freeicnisnlycee.free.fr/.../big_data_parsing_html/big_data.docx · Web viewDonc, pour trouver automatiquement la valeur de cette action dans la page web, il suffit de chercher la

PHP ICN (seconde)

Le système affiche alors le code source de la page et indique où se trouve le code qui permet d’afficher l’information.

On voit que la donnée est positionnée dans une balise <span> qui permet de mettre en forme une ligne. Cette mise en forme est ici identifiée par id = « market_last » qui permet d’identifier une mise en forme dans le fichier CSS.

Donc, pour trouver automatiquement la valeur de cette action dans la page web, il suffit de chercher la balise span avec l’id.

Tu peux demander à l’inspecteur de page web de trouver cette information.

Tu tapes CTRL+F

Il est aussi possible, de la même façon, d’explorer le code source en faisant :

Version du 12/11/2017 2/ Julien Launay

Page 3: Freeicnisnlycee.free.fr/.../big_data_parsing_html/big_data.docx · Web viewDonc, pour trouver automatiquement la valeur de cette action dans la page web, il suffit de chercher la

PHP ICN (seconde)

Puis CTRL+F

Analyser la position d’une information dans une page WebIl est possible de programmer la récupération de données de façon automatique.

Pour cela voici un exemple simple pour récupérer l’information de la dernière température mesurée à Strasbourg.

Pour cela tu vas utiliser le site : http://meteopetitefrance.fr/index.php?pg=tabjour

A l’aide de la méthode précédente, recherche quelle est la balise HTML qui encadre la dernière

donnée de la température (la plus récente).

Version du 12/11/2017 3/ Julien Launay

Page 4: Freeicnisnlycee.free.fr/.../big_data_parsing_html/big_data.docx · Web viewDonc, pour trouver automatiquement la valeur de cette action dans la page web, il suffit de chercher la

PHP ICN (seconde)

Recherche à l’aide les différentes occurrences de la balise HTML.

Puis tu t’aperçois que cette commande est présente plusieurs fois.

Au bout de combien de balises HTML identiques trouves-tu la valeur de la température ?

Récupérer des données d’un site web avec PythonIl est possible de récupérer le texte qui suit la nieme valeur d’un tableau qui regroupe toutes les occurrences d’une balise donnée.

On peut stocker ces données dans un tableau à une dimension.

Indice du tableau 0 1 2Contenu du tableau Horaire Temp. E. Hum. E.

Attention, ce comptage commence à la valeur n°0 ! et pas 1 !

Version du 12/11/2017 4/ Julien Launay

Page 5: Freeicnisnlycee.free.fr/.../big_data_parsing_html/big_data.docx · Web viewDonc, pour trouver automatiquement la valeur de cette action dans la page web, il suffit de chercher la

PHP ICN (seconde)

Quel est alors l’indice du tableau qui regroupe toutes les données où se trouve la même commande HTML recherchée au regard de tes précédentes recherches ?

Voici alors l’algorithme à réaliser :

DEBUT

Importer des bibliothèques pour lire une page web et pour rechercher des mots dans un texte

Ouvrir la page web voulue (meteopetitefrance)

Lire les codes de la page web en entier

Identifier les 4 premiers caractères de la 12 ieme fois où on trouve la commande HTML qui se répète.

On convertir la chaine de caractères lue en un nombre utilisable

FIN

Programme en Python

Modifie l’application pour récupérer la dernière valeur de l’humidité.

Installation du package bs4 pour utiliser la librairie beautifulSoup sur Raspberry PI pour python3.

Sudo apt-get install python3-bs4

Version du 12/11/2017 5/ Julien Launay

Page 6: Freeicnisnlycee.free.fr/.../big_data_parsing_html/big_data.docx · Web viewDonc, pour trouver automatiquement la valeur de cette action dans la page web, il suffit de chercher la

PHP ICN (seconde)

Application de récupération de données sur le WebRéalise une application qui permet de récupérer la dernière valeur de la température de l’air d’un aérodrome dans le monde.

Recherche les code OACI d’un aérodrome.

http://fr.whattheflight.com/aeroports/codes-iata-oaci/

Puis utilise le site suivant pour avoir les données de l’aérodrome LFMH

https://aviationweather.gov/metar/data?ids=LFMH&format=raw&date=0&hours=0

Tu peux décoder ces données en utilisant le site

http://fr.allmetsat.com/metar-taf/france.php?icao=LFMH

Récupérer des données fournies par une interface de programmation (API)A venir…

Version du 12/11/2017 6/ Julien Launay