TRAITEMENT DE L INFORMATION. Ophélie Fraisier

Documents pareils
NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Présentation du Framework BootstrapTwitter

SYSTÈMES D INFORMATIONS

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Document Object Model (DOM)

Tutoriel : Feuille de style externe

Programmation Internet Cours 4

HTML. Notions générales

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

TP JAVASCRIPT OMI4 TP5 SRC

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Module BD et sites WEB

4. SERVICES WEB REST 46

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Interaction entre réseaux sociaux et sites web

CREATION d UN SITE WEB (INTRODUCTION)

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

HTML/CSS - Travaux Pratiques 2

Module : programmation site Web dynamique Naviguer entre les pages via site map

Gestion Électronique de Documents et XML. Master 2 TSM

Architectures Web Services RESTful

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Démonstration de la mise en cache via HTML 5 sur iphone

Les services usuels de l Internet

Programmation Web TP1 - HTML

SII Stage d informatique pour l ingénieur

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Bases de Données et Internet

Les outils de création de sites web

Audit SEO. I / Les Tranquilles d Oléron

Architectures web/bases de données

Par KENFACK Patrick MIF30 19 Mai 2009

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Guide d implémentation. Réussir l intégration de Systempay

API SMS CONSEIL HTTP V2.01. Sommaire. Documentation V1.0 au 21/05/2011

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

SERVEUR WEB. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Pack Fifty+ Normes Techniques 2013

Optimiser moteur recherche

Master1 ère année. Réseaux avancés I. TP nº5 filière ISICG

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Normes techniques 2011

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

STID 2ème année : TP Web/PHP

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Architecture Multi-Niveaux

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Gestion d identités PSL Exploitation IdP Authentic

RESPONSIVE WEB DESIGN

Compte Rendu d intégration d application

Module http MMS AllMySMS.com Manuel d intégration

Bernard Lecomte. Débuter avec HTML

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

Panel des technologies Web

Introduction aux concepts d ez Publish

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

Paris Airports - Web API Airports Path finding

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

BIRT (Business Intelligence and Reporting Tools)

Construire une application marketing Facebook sur la plateforme Windows Azure

Optimiser pour les appareils mobiles

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

Serveur d Applications Web : WebObjects

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Guide préparatif «Automatiser sa vigie sur Twitter avec R» 1

EXPOSE. La SuisseID, qu est ce que c est? Secrétariat d Etat à l Economie SECO Pierre Hemmer, Chef du développement egovernment

Sécurité des Web Services (SOAP vs REST)

Web Tier : déploiement de servlets

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Ecrire pour le web. Rédiger : simple, concis, structuré. Faire (plus) court. L essentiel d abord. Alléger le style. Varier les types de contenus

Sécurité des applications web. Daniel Boteanu

Programmation Web. Madalina Croitoru IUT Montpellier

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

ISTEX-SNU. ISTEX en quelques clics dans votre portail documentaire. Séminaire technique ISTEX 18 mars 2015

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Les sites web avec NVU

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

Hébergement de site web Damien Nouvel

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

GESTION D UNE BASE BIBLIOGRAPHIQUE

Transcription:

TRAITEMENT DE L INFORMATION Ophélie Fraisier ophelie.fraisier@irit.fr 2016 2017

WEB SCRAPING Insérez dans la cellule A1 d une Google sheet : =ImportHtml("http:// www.acpm.fr/chiffres/ Frequentation/ Classement-des-Sites/ Classement-Unifie-desSites-GP", "table", 1) Allez comparer avec la page ACPM d origine

DÉFINITION DU WEB SCRAPING Récolte de données à partir de pages web à l aide d un programme Peu de contraintes : tout ce qui est visible à l écran est techniquement récupérable Règle de bonne conduite : délai entre les requêtes pour éviter de surcharger le serveur web Risque de blocage de l adresse IP Peut être illégal : certains sites interdisent la récupération automatique de leur contenu La qualité du contenu récupéré dépend de la qualité du formatage de la page HTML

STRUCTURE D UN FICHIER HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>proverbes</title> Balises Attributs Identifiants (chaque valeur doit être unique dans le document) Classes <link rel="stylesheet" type="text/css" href="style.css"> </head> <body><!-- éléments visibles à l écran --> <h1 id="titre_principal">proverbe du jour</h1> <div class="proverbe"> <p lang="en">once bitten, twice shy.</p> <p lang="fr">chat échaudé craint l'eau froide.</p> </div> </body> </html>

STRUCTURE D UN FICHIER HTML : BALISES <title> <link /> <meta /> <div><span> <h1> à <h6> <p> <a> <img /> <br/> <abbr> <ul><ol><dl> <table> <form> <style> Titre de la page Lien vers une feuille de style Métadonnée de la page (mots-clés, encodage, auteur, ) Balises génériques pour organiser le contenu, particulièrement intéressantes lorsqu elles sont associées à un attribut class ou id Titres Paragraphe Lien hypertexte Image Retour à la ligne Abréviation Listes Tableau Formulaire Code CSS

WEB SCRAPING EN PYTHON Bibliothèque Requests pour charger les pages web Doc : http://docs.python-requests.org/ r = requests.get(url) : chargement d une page r = requests.get(url, params={key: value}) : chargement d une page avec paramètres dans l url r.text : récupération du contenu r.json() : récupération d un dictionnaire à partir d un contenu au format JSON r.status_code : code retourné par la requête Pensez à gérer le cas où ce code est différent de 200 (success)

WEB SCRAPING EN PYTHON Bibliothèque BeautifulSoup pour parser le code HTML Doc : https://www.crummy.com/software/beautifulsoup/bs4/doc/ soup.select("title") : balises <title></title> soup.select("body a") : balises <a></a> inclues dans une balise <body></body> soup.select(".sister") : balises avec classe «sister» soup.select("#link") : balises ayant comme id «link» Combinaisons : soup.select("body.sister a#link») balise.get_text() : texte de la balise balise.attrs : attributs de la balise sous forme de dictionnaire balise.get("href") : valeur de l attribut href de la balise, None si la balise n a pas d attribut href

WEB SCRAPING EN PYTHON

WEB SCRAPING EN PYTHON

WEB SCRAPING EN PYTHON

WEB SCRAPING EN PYTHON import requests import bs4 def get_videos_titles(): response = requests.get('http://www.youtube.com') soup = bs4.beautifulsoup(response.text) titles_elements = soup.select('h3.yt-lockup-title a') return [a.get( title ]) for a in titles_elements]

WEB SCRAPING EN PYTHON import requests import bs4 def get_videos_titles(): response = requests.get('http://www.youtube.com') soup = bs4.beautifulsoup(response.text) titles_elements = soup.select('h3.yt-lockup-title a') return [a.get( title ]) for a in titles_elements]

WEB SCRAPING EN PYTHON import requests import bs4 def get_videos_titles(): response = requests.get('http://www.youtube.com') soup = bs4.beautifulsoup(response.text) titles_elements = soup.select('h3.yt-lockup-title a') return [a.get( title ]) for a in titles_elements]

WEB SCRAPING EN PYTHON import requests import bs4 def get_videos_titles(): response = requests.get('http://www.youtube.com') soup = bs4.beautifulsoup(response.text) titles_elements = soup.select('h3.yt-lockup-title a') return [a.get( title ]) for a in titles_elements]

UTILISATION PLUS AVANCÉE : SCRAPY Framework Python permettant de rapidement créer un programme récupérant le contenu de sites web Doc : https://scrapy.org/doc/ import scrapy class BlogSpider(scrapy.Spider): name = blogspider # urls de départs pour l extraction des données start_urls = ['https://blog.scrapinghub.com'] def parse(self, response): # extraction du titre identifié par les classes h2.entry-title et a for title in response.css('h2.entry-title'): yield {'title': title.css('a ::text').extract_first()} # passage automatique à la page suivante next_page = response.css('div.prev-post > a ::attr(href)').extract_first() if next_page: yield scrapy.request(response.urljoin(next_page), callback=self.parse) $ scrapy runspider myspider.py

API Définition d une API API web Présentation de l API Twitter

DÉFINITION D UNE API Cuisine Clients et clientes

DÉFINITION D UNE API Cuisine Clients et clientes

DÉFINITION D UNE API Cuisine Clients et clientes

DÉFINITION D UNE API Service Cuisine Clients et clientes

DÉFINITION D UNE API API = Application Programming Interface Ensemble de fonctions servant de façade entre un programme fournisseur et des programmes consommateurs Les services prodigués par le programme fournisseur sont décrits formellement dans la documentation de l API f1 f2 API f3 f4 Programme fournisseur Programmes consommateurs

API WEB Requêtes aux différentes fonctions de l API par URL Données retournées en XML ou JSON Largement répandues aujourd hui 105 répertoriées en 2005, 9000 en 2013

API WEB Requêtes aux différentes fonctions de l API par URL Données retournées en XML ou JSON Largement répandues aujourd hui Extrait de la documentation de l Open Movie Database API 105 répertoriées en 2005, 9000 en 2013

API WEB Requêtes aux différentes fonctions de l API par URL Données retournées en XML ou JSON Largement répandues aujourd hui Extrait de la documentation de l Open Movie Database API 105 répertoriées en 2005, 9000 en 2013 keys = {'t': 'frozen', 'plot':'full', 'r':'json'} response = requests.get('http://www.omdbapi.com', params=keys) dict = response.json()

API TWITTER Twitter : réseau social permettant de Publier de courts messages appelés tweets Suivre des utilisateurs et utilisatrices Retweeter un tweet = le partager à ses propres followers Répondre à un tweet Aimer un tweet 2 API web disponibles avec authentification : Streaming API : pour surveiller des tweets en temps réel REST API : pour faire des requêtes sur les tweets des 7 derniers jours Les données sont renvoyées au format JSON

API REST : DOCUMENTATION Limites d utilisation https://dev.twitter.com/rest/ public/rate-limits Documentation des fonctions REST https://dev.twitter.com/rest Recherche de tweets Récupération des tweets d un compte Followers d un compte donné Comptes suivis par un compte donné Récupération de tweets à partir de leurs identifiants /reference/get/search/tweets /reference/get/statuses/ user_timeline /reference/get/followers/list /reference/get/friends/list /reference/get/statuses/lookup

INTERROGER L API REST AVEC PYTHON Utilisation du package twitter Doc : https://pypi.python.org/pypi/twitter from twitter import Twitter, OAuth # informations d authentification tokens = OAuth(ACCESS_TOKEN, ACCESS_SECRET, CONSUMER_KEY, CONSUMER_SECRET) # connection à l API # retry=true : l application retente la dernière requête # si les limites de l API sont atteintes t = Twitter(auth=tokens, retry=true) # récupérer les derniers tweets d un utilisateur tweets = t.statuses.user_timeline(screen_name="billybob") # récupérer les tweets contenant un mot-clé tweets = t.search.tweets(q="#pycon")

OBTENIR LES DONNÉES D AUTHENTIFICATION 1. Créer un compte Twitter : https://twitter.com Vous devrez renseigner un numéro de téléphone pour pouvoir créer ensuite une application. 2. Créer une application Twitter : https://apps.twitter.com 3. Aller dans l onglet «Keys and Access Tokens» 4. Créer un nouvel «Access Token» 5. Les informations nécessaires sont maintenant disponibles : Consumer Key (API Key) Consumer Secret (API Secret) Access Token Access Token Secret