# Programmer en R/Extraire des données d'une page web

* Introduction
** Faire ses premiers pas
** Installer R
** Choisir son environnement de travail
** Installer des librairies
** Se documenter
* Manipulation et mise en forme des données
** Manipuler les nombres
** Manipuler les vecteurs
** Manipuler les chaînes de caractères
** Manipuler les facteurs
** Manipuler les dates et les heures
** Manipuler un tableau de données
** Manipuler une liste
* Importation et exportation des données
** Importer un fichier CSV
** Résoudre les problèmes d'encodage des caractères
** Importer un fichier TSV
** Importer un fichier texte à largeur fixe
** Importer des données depuis un tableur
** Import un fichier JSON
** Extraire des données d'une page web
* Visualisation de données
** Comprendre la grammaire des graphiques
** Représenter une carte
** Visualiser une carte choroplèthe
* Modélisation statistique
** Estimer un modèle de régression linéaire
** Estimer un modèle de régression circulaire
* Communication
* Programmation avancée
** Programmer une boucle
** Programmer une fonction
* Outils mathématiques
** Optimiser une fonction
** Manipuler les matrices
** Les fonctions statistiques de base
** Les loi de probabilités, ajustement et test
* Introduction
** Faire ses premiers pas
** Installer R
** Choisir son environnement de travail
** Installer des librairies
** Se documenter
* Manipulation et mise en forme des données
** Manipuler les nombres
** Manipuler les vecteurs
** Manipuler les chaînes de caractères
** Manipuler les facteurs
** Manipuler les dates et les heures
** Manipuler un tableau de données
** Manipuler une liste
* Importation et exportation des données
** Importer un fichier CSV
** Résoudre les problèmes d'encodage des caractères
** Importer un fichier TSV
** Importer un fichier texte à largeur fixe
** Importer des données depuis un tableur
** Import un fichier JSON
** Extraire des données d'une page web
* Visualisation de données
** Comprendre la grammaire des graphiques
** Représenter une carte
** Visualiser une carte choroplèthe
* Modélisation statistique
** Estimer un modèle de régression linéaire
** Estimer un modèle de régression circulaire
* Communication
* Programmation avancée
** Programmer une boucle
** Programmer une fonction
* Outils mathématiques
** Optimiser une fonction
** Manipuler les matrices
** Les fonctions statistiques de base
** Les loi de probabilités, ajustement et test
[ Modifier le sommaire ]
Les fonctions read_html et read_xml permettent de récupérer et interpréter un contenu au format HTML ou XML, respectivement.

## Syntaxe

Les paramètres sont les suivants :

### x

    Plusieurs types possibles :
   * Une chaîne de caractère représentant soit l'URL, soit le contenu lui-même,
   * Une connexion ouverte, auquel cas tout le contenu est lu dans un vecteur avant interprétation.
    Si un chemin local se termine par une des extensions .gz, .bz2, .xz, .zip, le fichier est automatiquement décompressé.

### encoding

    Encodage par défaut. S'il n'est pas spécifié, la fonction détecte les encodages UTF-8 ou UTF-16.

### as_html

    Booléen indiquant d'interpréter le contenu au format HTML plutôt que XML.

### options

    Série d'options d'interprétation :
   * RECOVER : Récupération en cas d'erreur,
   * NOENT : Substituer les entités (&amp; &quot; ...),
   * DTDLOAD : Charger les DTD externes,
   * DTDATTR : Attributs DTD par défaut,
   * DTDVALID : Valider la syntaxe du contenu avec la DTD,
   * NOERROR : Supprimer les rapports d'erreur,
   * NOWARNING : Supprimer les rapports d'avertissement,
   * PEDANTIC : Vérification moins stricte,
   * NOBLANKS : Enlever les nœuds vides,
   * SAX1 : Utiliser l'interface SAX1 en interne,
   * XINCLUDE : Implémenter la substitution XInclude
   * NONET : Empêcher la connexion réseau (n'autorise qu'un chemin local),
   * NODICT : Ne pas réutiliser le dictionnaire de contexte,
   * NSCLEAN : Enlever les déclarations redondantes d'espaces de noms,
   * NOCDATA : Fusionner les CDATA comme nœuds de texte,
   * NOXINCNODE : Ne pas générer de nœuds XINCLUDE START/END,
   * COMPACT : Compacter les nœuds textes de petite taille ; modifications de l'arborescence non autorisées par la suite, sinon un plantage est possible,
   * OLD10 : Interpréter en utilisant XML-1.0 avant la mise à jour 5,
   * NOBASEFIX : Ne pas réparer les URIs de base (xml:base) XINCLUDE,
   * HUGE : Relâcher les contraintes de l'interpréteur,
   * OLDSAX : Utiliser l'interface SAX2 avant 2.7.0 en interne,
   * IGNORE_ENC : Ignore les indications d'encodage du document,
   * BIG_LINES : Stocker les grands nombres de lignes dans un champ texte PSVI (Post-Schema-Validation Infoset).

## Exemple

L'exemple suivant récupère le contenue d'une page HTML, en passant l'URL et l'encodage par défaut à la fonction read_html :

## Documentation

* https://www.rdocumentation.org/packages/xml2/versions/1.3.2/topics/read_xml