Webscrapping : certains éléments non accessibles

Résolu
Bonjour,

Je me penche sur le côté web scrapping de Python et j'ai déjà réussi quelques programmes. Je me retrouve face à des situations où certaines données visibles sur la page directement (grâce à inspecter l'élément) ne sont pas accessibles via le code source (introuvable). J'aurais voulu savoir s'il existe une manière de pouvoir avoir accès à la totalité des éléments d'une page à la manière de "inspecter l'élément".

Merci de bien vouloir me proposer une solution, cordialement.

33 réponses

  • Votes
  • Date
  • Date décroissante
Résumé de la discussion

Des données affichées après rendu JavaScript ne figurent pas dans le code source et posent problème pour le scraping Python lorsque l’application charge dynamiquement son contenu. Des solutions consistent à utiliser un navigateur sans tête ou un moteur d’exécution JavaScript pour rendre la page, ou à analyser les appels réseau afin d’identifier des endpoints fournissant les données. Plusieurs approches recommandées incluent Selenium, Playwright ou requests-html pour simuler l’interaction et obtenir le DOM rendu, puis extraire les éléments souhaités comme des tableaux qui ne figurent pas dans le HTML statique. En cas de données fournies via des API internes, il est aussi possible d’interroger directement ces endpoints après inspection des requêtes réseau pour récupérer les contenus sans exécuter tout le rendu.

Bobot (l’IA à votre service)
  1. Contributeur
    'lut, c'est simple: si un contenu est sur la page alors qu'il n'est pas dans la source initiale, c'est qu'il a été ajouté dynamiquement par du JavaScript, donc soit généré soit chargé avec une requête AJAX.
    Sauf qu'à ma connaissance les outils de webscrapping n'interprètent ni n'analysent le JS des pages qu'ils rencontrent, d'où le fait que certains éléments ne soient pas accessibles.
    Et là, il faut soit trouver/configurer/programmer un outil suffisamment puissant, soit faire une partie du scrapping à la main.
    from human import idiocy
    del idiocy
    1. OK merci. Une piste pour le scrapping en lien avec les requêtes AJAX ?
  2. 31ème Up' ! (Un mois, célébrons ça ! Enfin, je suis seul donc ...)
    1. 16ème Up' ! Si un modérateur voit ça, il va fermer le sujet mdr.
      • 1
      • 2