← Retour au lexique
⚙️ SEO Technique

Web scraping SEO : choisir une extraction utile

Distinguez HTML, rendu et API pour récupérer les bonnes informations et contrôler la couverture d’une extraction.

Le web scraping extrait des informations depuis des pages. Dans un audit SEO, cela peut servir à relever titres, liens ou canonicals. Avant de collecter un grand volume, définissez les champs nécessaires et choisissez entre HTML reçu, page rendue et API disponible.

Un exemple local reproductible

Pour illustrer une extraction de titre, enregistrez un fichier de test page.html puis analysez-le avec la bibliothèque standard Python :

from html.parser import HTMLParser
from pathlib import Path

class TitleParser(HTMLParser):
    def __init__(self):
        super().__init__()
        self.in_title = False
        self.parts = []
    def handle_starttag(self, tag, attrs):
        if tag == 'title': self.in_title = True
    def handle_endtag(self, tag):
        if tag == 'title': self.in_title = False
    def handle_data(self, data):
        if self.in_title: self.parts.append(data)

parser = TitleParser()
parser.feed(Path('page.html').read_text(encoding='utf-8'))
print(''.join(parser.parts).strip())

Cet exemple extrait le texte du titre du fichier. Il ne charge pas JavaScript et ne constitue pas un crawler complet.

Choisir la bonne source

Si la donnée est ajoutée après exécution de scripts, le HTML initial peut ne pas la contenir. Si une API officielle fournit directement le champ, elle peut être plus adaptée qu’un sélecteur visuel fragile. Comparez quelques pages manuellement avant d’étendre la collecte.

Contrôler la qualité de l’export

Gardez URL, date, statut HTTP et champs manquants. Un export rempli de chaînes vides peut révéler un changement de gabarit, pas une absence réelle de données. Limitez la fréquence et le périmètre aux accès autorisés ; l’automatisation ne supprime pas les contraintes du service.

Pour poursuivre, distinguez HTML et rendu, SEO JavaScript et exploration d’un site. La documentation de HTMLParser détaille les limites de ce parseur.