21 juin 2024

Introduction au

Léa Christophe

Robin Cura

Hugues Pecout

Alexandre Cebeillac

Sébastien Rey-Coyrehourcq

GT Webscraping

ebscraping

w

21 juin 2024

Webscraping

1. Introduction (5 min)

2. Exemples d'application (10-15 min)

3. Mise en pratique

Introduction

Le WebScraping est une pratique qui nécessite l’articulation plus ou moins complexe de méthodes, de logiciels et d’infrastructures pour naviguer et extraire du contenu (des informations) d’un ou de plusieurs sites Web de façon automatisé.

Web scraping, web harvesting, or web data extraction is data scraping used for extracting data from websites. Web scraping software may directly access the World Wide Web using the Hypertext Transfer Protocol or a web browser. While web scraping can be done manually by a software user, the term typically refers to automated processes implemented using a bot or web crawler.

Wikipedia (en)

notre GT (wip)

Définition(s)

Introduction

  • Constitution de corpus ...
    • en // de corpus existants
    • originaux

Intérêt croissant au sein des laboratoires en SHS ...

De multiples utilisations pour les SHS ...

  • ... collectés avec un
    • flux continu
    • échantillonage

études comparatives

sauvegarde / patrimoine

mondialisé

suivi longitudinal

  • ... faits de de sources et de nature de sources variés (son, images, textes)

 mixte quali/quanti

  • (I) légalité de la :
    • collecte
    • stockage
    • de la (re)diffusion
  • (II) contrôle qualité
    • validation
    • harmonisation
  • (III) techniques lié à l'objet à capturer :
    • résilience
    • intégration
    • reproductibilité

Introduction

... mais des verrous à différents niveaux

Exemple : https://journals.openedition.org/cybergeo/36478

Discuté ici (vidéo à venir) : https://atelierdatapaperadn.sciencesconf.org/

trop problème dépendant

GT Webscraping

(partie éthique & légalité)

GT Webscraping

(docker, sgbd, forge, etc.)

une multiplicité de facteurs interdépendants

  • (1) Pays
  • (2) CGU / Robots.txt
  • (3) Nature de l'information
  • (4) Visibilité de l'information
  • (5) Qui récolte l'information
  • (6) Volumétrie
  • (7) Finalité de la récolte

Jurisprudences & droit d'auteurs

Loi Nationale & Européenne

Personnelles ? Sensibles ?

Publiques ? Privés ?

Institutions ? Chercheurs ? Entreprises ?

Lucratif / Non lucratif ?

Avec ou Sans modifications ?

Traitements, Aggrégation ?

Substansielle ? Non Substantielle ?

(... +/-  loi du plus fort à l'international entre multinationales ...)

Légalité

Quelques exemples

flightradar

Quelques exemples

Flux multi-échelles

Données Avion FlightRadar24 & Bateaux MarineTraffic

flightradar

Mobilités quotidiennes & évacuation

Données trafic Bing & TomTom

Pratiques touristiques

Airbnb vs Booking.com

Pratiques touristiques

Comparer les localisations des types d'offres dans les villes

Arctique & système monde

ANR PUR (2016 - 2020) / Yvette Vaguet

Intégration des zones arctiques dans le système monde

Un des objectifs :

Analyser temporellement les flux affectant les zones arctiques, dont les flux touristiques.

Pourquoi ?

"Tourism is a powerful global force that is turning the north into a Global North—tied into the Global South by facing the same global problem"   (Veijola and Strauss-Mazzullo, 2019)

Comment ?

En créant des réseaux à partir des données    les plus appropriées et accessibles

https://news.airbnb.com/fast-facts/

Airbnb

Collecter des données permettant de former un réseau de flux touristiques vers l'Arctique

Site web : airbnb.com

Langage : R

Framework : rvest / httr

Type de récolte : Campagne

Format : Json

 

Caractéristiques :

  • Accessible via code source
  • (+) Plusieurs API officieuses & pas de token privé
  • (-) 80 requêtes / min / IP ==> temps de collecte long
  • Des extractions de zones (insideairbnb) mais que dans certaines villes
  • Des codes sont disponibles (Tom Slee) python,  mais pas sous R

Pratiques touristiques

Comparer les localisations des types d'offres dans les villes

Localisation des hébergements à Bangkok

Arctique & système monde

ANR PUR (2016 - 2020) / Yvette Vaguet

Intégration des zones  urbaines arctiques dans le système monde

Un des objectifs :

Analyser temporellement les flux affectant les zones arctiques, notamment les flux aériens.

Comment ?

En créant des réseaux à partir des données les plus appropriées et accessibles

FlightRadar

ANR PUR (2015 - 2019) / Yvette Vaguet

Récuperer les départs et arrivées d'avions pour les aéroports mondiaux pendant plus d'un an

flightradar

24

FlightRadar

ANR PUR (2015 - 2019) / Yvette Vaguet

Récuperer les départs et arrivées d'avions pour les aéroports mondiaux pendant plus d'un an

Site web : flightradar24.com

Langage : Python

Framework : Scrapy

Type de récolte : Continue (depuis le 2018/06/10)

Format : mongoDB / Json

 

Difficultés :

  • architecture technique pour une récolte continue
  • gestion des timezones
  • intégration/consolidation des données SGBD (work in progress)

flightradar

24

FlightRadar

Vol vers la zone arctique

Détection de communauté

Marine Traffic

ANR PUR (2015 - 2019) / Yvette Vaguet

Récuperer les départs et arrivées de bâteaux partant où allant vers la zone arctique

Marine Traffic

Flux maritime vers la zone arctique

Détection de communauté

Mobilités urbaines

FP7 DENFREE & ANR MO3

ANR Escape (2016 - 2024)

Modéliser les mobilités lors d'évacuation en cas d'urgence

Mobilité quotidiennes & propagation des épidémies de dengue

Besoin de données sur les mobilités comme les conditions de trafic pour nourrir et/ou valider les modèles

Condition de trafic

Site web : /www.bing.com/maps

Langage : R

Type de récolte : Campagne

Format : Raster (image)

Avantages & limites :

  • Collecter et reprojecter des images
  • Extraire les conditions de circulation

Principe :

  • Trafic en temps réel
  • Disponible dans 55 pays
  • Méthodologie de Bing inconnue

Bing Map (Microsoft)

Collecte en temps réel des conditions de circulation

Condition de trafic

Bing Map (Microsoft)

Collecte en temps réel des conditions de circulation

Condition de trafic

Trafic après l'explosion de Lubrizol

Condition de trafic

Données vectorielles scrappées plus complètes (niveau de trafic)

TomTom

Collecte en temps réel des conditions de circulation

Condition de trafic

TomTom

Collecte en temps réel des conditions de circulation

Permet la validation de modèles de mobilités

Écart entre mobilité simulées et trafic observé

GeoCaching

GRR Trenum (2015 - 2019) / Philippe Vidal

Récupérer toutes les informations sur les ~ 13000 géocaches (1/page) de Normandie à un instant t

Site web : geocaching.com

Langage : Python

Framework : Scrapy

Type de récolte : Campagne

Format : Json

 

Difficultés :

  • Pas d'API & limitation à 1000 résultats par recherche
  • Mon premier scraping
  • Login/Pwd pour accès à la donnée complète
  • ASPX avec gestion des états précédents

Téléchargement automatique

Projet RachelNet / Denis Eckert

Récupération d'ouvrages numérisés en ligne

Téléchargement semi-automatisé des pages d'ouvrages numérisés accessibles uniquement en navigation.

- Permettre une consultation et un archivage hors-ligne et plus rapide des documents

Marché immobilier mexicain

PrimoMex / A. Ribardière, J.-F. Valette & L. Salinas

Caractériser le marché immobilier et son évolution dans l'agglomération de Mexico (ZMVM)

Un des objectifs :

Étudier l'évolution des prix à différentes échelles depuis 2015

Moyen : Base 2015 exhaustive, scraping de l'ensemble des annonces en 06/2024

Un des enjeux :

Détecter les annonces incomplètes, mal renseignées, ou trompeuses.

MGB : tarif des bars parisiens

Projet pédagogique : Interpolations et lissages

Détection de hot-spots et lissages spatiaux
des prix de la pinte de bière

Un des objectifs :

Récupérer un jeu de données ponctuel très bruité mais présentant une nette structure spatiale

Moyen : Scraping "géomatique" de la carte du site MGB via fenêtres spatiales mouvants

Un des enjeux :

Passer outre la limite du site qui n'affichait que 20 annonces à la fois

Mobilités urbaines

FP7 DENFREE & ANR MO3 / Eric Daudé

Modéliser et simuler les épidémies de dengue

 

Un des objectifs :

Comprendre le rôle des mobilités quotidiennes dans la propagation des épidémies à Bangkok & Delhi

Moyen :

Créer un modèle de mobilité, individu centré, à base d'agents (couplé à d'autres modèles)

Concept d'espace d'activité

Un des enjeux :

Collecte de données de mobilité

Évacuations massives

ANR Escape (2016 - 2024) / Eric Daudé

"Contribuer à la conception de systèmes d’aide à la décision dans le cas d’évacuations massives"

Un des objectifs :

Simuler les mobilités en cas de catastrophes (industrielles ou naturelles). Multisites

Comment ?

Simulation à base d'agents

Préalable :

Connaître les comportements de mobilités en condition "normale"

==> Intérêt des conditions de trafic

(en plus des EMD)

web asynchrone

protection anti-bot

(a) définir un logigramme pour mieux s'y retrouver

(III) Verrous techniques

(b) mettre une campagne de collecte h24/7J en place, une problématique complexe rapidement ...

flightradar

24

https://www.flightradar24.com

(III) Verrous techniques

element-R-webscraping-2024

By sebastien rey coyrehourcq

element-R-webscraping-2024

  • 309