HTMLExtractor
Cas d'utilisation courants
- Extraction de contenu d'une page web
Comment fonctionne-t-il ?
Le HTMLExtractor vous permet de définir plusieurs requêtes à exécuter sur le contenu HTML entrant, qui peut être fourni sous forme d'attribut ou de fichier. Les requêtes sont composées d'un nom d'attribut de sortie, d'un sélecteur CSS qui définit le type de balises à extraire, et du choix d'extraire des balises entières, des valeurs, des textes ou des attributs HTML.
Vous pouvez extraire la première balise correspondante ou conserver plusieurs résultats dans un attribut de liste.
HTMLExtractor est plus adapté au traitement de contenu HTML que les Transformers XML ou les expressions régulières en raison d'analyses et de filtres plus indulgents et du support de changements mineurs dans le contenu de la page.
Exemples
Dans cet exemple de traitement, tous les liens d'une page web seront extraits et ressortiront dans un attribut de liste.
Un HTTPCaller récupère le contenu d'une page web, en utilisant la méthode GET. Le contenu de la page est stocké au format HTML dans l'attribut _response_body.
Dans HTMLExtractor, le même attribut est défini comme la source HTML, et une requête est construite pour trouver tous les liens (Sélecteur CSS = a[href]), extrait le seul lien (Attribut Type contenu balis = href), et le stocke dans un nouvel attribut links.
Le format attendu est défini à Attribut de liste et donc toutes les correspondances seront incluses.
Le résultat comportera :
links{0} = ‘https://www.example.com/page1.html’
links{1} = ‘https://www.example.com/page2.html’
links{2} = ‘https://www.example.com/page3.html’
Dans cet exemple de traitement, un HTTPCaller utilise la méthode GET pour récupérer le contenu d'une page web et le stocker dans l'attribut _response_body.
Dans HTMLExtractor, une requête est construite pour trouver la balise div avec l'id "article" (CSS Selector = #article). Le contenu de cette balise sera extrait (Tag Part/HTML Attribut = Valeur ), et envoyé au nouvel attribut articleText.
Avec comme format retourné "Première correspondance , le contenu de la première balise div trouvé ressort comme un attribut ordinaire (pas de liste).
Notes
- Les sélecteurs CSS standard sont utilisés pour créer des requêtes. Une liste de ces sélecteurs peut être trouvée ici : Référence des sélecteurs CSS
Configuration
Ports d'entrée
Ce Transformer accepte tous types d'entités.
Ports de sortie
Les entités avec les attributs contenant les résultats de l'extraction ressortent par ce port.
Si une erreur apparaît, l'entité ressort par ce port avec l'information relative à l'erreur contenue dans les attributs fme_rejection_code et fme_rejection_message.
Gestion des entités rejetées : ce paramètre permet d'interrompre la traduction ou de la poursuivre lorsqu'elle rencontre une entité rejetée. Ce paramètre est disponible à la fois comme option par défaut de FME et comme paramètre de traitement.
Paramètres
HTML en entrée |
Le type de source. Les choix possibles sont les suivants :
|
Contenu HTML |
Si ce paramètre vaut Contenu, le contenu HTML peut être spécifié directement dans le champs Contenu HTML ou défini à partir de la valeur d'un attribut. |
Fichier HTML |
Si le HTML en entrée est défini à Fichier, le chemin du fichier peut être spécifié. |
Attribut cible |
Le nom de l'attribut qui contiendra le résultat de la requête. |
Sélecteurs CSS |
Un sélecteur CSS qui définit la ou les balises du document HTML ou de son contenu. Une liste des sélecteur est accessible sur |
Partie de balise/attribut HTML |
Ce paramètres peut être définie par :
Il est également possible de saisir un nom d'attribut HTML (tel que "href" ou "alt"). L'attribut sera alors extrait de la balise. |
Parser |
Si nécessaire, sélectionnez une autre bibliothèque d'analyse. Les choix possibles sont les suivants :
Les deux analyseurs devraient retourner les mêmes résultats sur une entrée bien formatée, mais les résultats peuvent différer si ce n'est pas le cas. En général, l'analyseur lxml est plus rapide, mais l'analyseur par défaut est plus indulgent avec l'entrée. |
Format de retour |
Ci ce paramètre vaut Première correspondance, les attributs cibles contiennent uniquement le premier élément trouvé par la requête. Si il vaut Attributs liste, les attributs cibles seront des listes e contiendront tous les résultats retournés par la requête. |
Vérifier le certificat HTTPS |
Avant FME 2022.0, l'accès Web par l'intermédiaire de ce Transformer désactivait automatiquement la vérification du certificat HTTPS lorsqu'une erreur SSL était reçue du serveur. Désormais, ce comportement doit être explicitement activé ou désactivé par ce paramètre. La valeur de ce paramètre a priorité sur la valeur du paramètre Vérifier les certificats HTTPS qui pourrait être définie par la connexion Web utilisée avec ce Transformer. |
Éditer les paramètres des Transformers
À l'aide d'un ensemble d'options de menu, les paramètres du Transformer peuvent être attribués en faisant référence à d'autres éléments de traitement. Des fonctions plus avancées, telles qu'un éditeur avancé et un éditeur arithmétique, sont également disponibles dans certains Transformers. Pour accéder à un menu de ces options, cliquez sur à côté du paramètre applicable. Pour plus d'informations, voir Options de menus et paramètres de Transformer.
Définir les valeurs
Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple est de simplement taper une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types comme des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres de traitement. Il existe un certain nombre d'outils et de raccourcis qui peuvent aider à construire des valeurs, généralement disponibles dans le menu contextuel déroulant adjacent au champ de valeur.
Utilisation de l'éditeur de texte
L'éditeur de texte fournit un moyen efficace de construire des chaînes de textes (dont les expressions régulières) à partir de données source diverses, telles que des attributs, des paramètres et des constantes, et le résultat est directement utilisé dans le paramètre.
Utilisation de l'éditeur arithmétique
L'éditeur arithmétique fournit un moyen simple de construire des expressions mathématiques à partir de plusieurs données source, telles que des attributs et des fonctions, et le résultat est directement utilisé dans un paramètre.
Valeur conditionnelle
Définit des valeurs selon un ou plusieurs tests.
Fenêtre de définition de conditions
Contenu
Les expressions et chaînes de caractères peuvent inclure des fonctions, caractères, paramètres et plus.
Lors du paramétrage des valeurs - qu'elles soient entrées directement dans un paramètre ou construites en utilisant l'un des éditeurs - les chaînes de caractères et les expressions contenant des fonctions Chaîne de caractères, Math, Date et heure ou Entité FME auront ces fonctions évaluées. Par conséquent, les noms de ces fonctions (sous la forme @<nom_de_fonction>) ne doivent pas être utilisés comme valeurs littérales de chaîne de caractères.
Ces fonctions manipulent les chaînes de caractères. | |
Caractères spéciaux |
Un ensemble de caractères de contrôle est disponible dans l'éditeur de texte. |
Plusieurs fonctions sont disponibles dans les deux éditeurs. | |
Fonctions Date/heure | Les fonctions de dates et heures sont disponibles dans l'Editeur texte. |
Ces opérateur sont disponibles dans l'éditeur arithmétique. | |
Elles retournent des valeurs spécifiques aux entités. | |
Les paramètres FME et spécifiques au traitement peuvent être utilisés. | |
Créer et modifier un paramètre publié | Créer ses propres paramètres éditables. |
Options - Tables
Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.
Réordonner
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
|
Couper, Copier et Coller
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
Copier, copier et coller peuvent être utilisés au sein d'un Transformer ou entre Transfromers. |
Filtre
|
Commencez à taper une chaîne de caractères, et la matrice n'affichera que les lignes correspondant à ces caractères. Recherche dans toutes les colonnes. Cela n'affecte que l'affichage des attributs dans le Transformer - cela ne change pas les attributs qui sont sortis. |
Importer
|
Le bouton d'import remplit la table avec un jeu de nouveaux attributs lus depuis un jeu de données. L'application spécifique varie selon les Transformers. |
Réinitialiser/Rafraîchir
|
Réinitialise la table à son état initial, et peut fournir des options additionnelles pour supprimer des entrées invalides. Le comportement varie d'un Transformer à l'autre. |
Note : Tous les outils ne sont pas disponibles dans tous les Transformers.
Références
Comportement |
|
Stockage des entités |
Non |
Dépendances | Aucun |
Alias | |
Historique | Implémenté dans FME 2 017.0 |
FME Community
FME Community est l'endroit où trouver des démos, des tutoriaux, des articles, des FAQ et bien plus encore. Obtenez des réponses à vos questions, apprenez des autres utilisateurs et suggérez, votez et commentez de nouvelles entités.
Voir tous les résultats à propos de ce Transformer sur FME Community.
Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.