J'ai passé un week-end à lutter contre l'analyse HTML. Voici ce qui a finalement fonctionné

DEV - 10/06
Le mois dernier, j'avais besoin d'extraire les spécifications de produits d'une douzaine de sites de commerce électronique pour un prix...

Le mois dernier, j'avais besoin d'extraire les spécifications de produits d'une douzaine de sites de commerce électronique pour un projet de comparaison de prix. Simple, non ? Grattez simplement le code HTML, récupérez le

ou
et analysez-le en JSON.

Deux jours plus tard, j'étais prêt à jeter mon ordinateur portable par la fenêtre. Chaque site avait un balisage différent. Certains ont utilisé

soupe, d'autres cachaient les données dans des objets JavaScript, et quelques-uns servaient les spécifications sous forme d'image de tableau. Regex et BeautifulSoup m'ont permis d'atteindre peut-être 40 % du chemin avant que tout ne s'effondre.

Ce que j'ai essayé et qui n'a pas fonctionné

1. Sélecteurs CSS et XPath

J'ai commencé avecsoupe.select('table.specs tr'). A très bien fonctionné sur le site A. Site B utiliséul.list. Le site C avait un site imbriqué

à l'intérieur d'un DOM fantôme. Je me suis retrouvé avec une fonction de 200 lignes pleine de logique de secours qui manquait encore la moitié des champs.

2. Regex sur HTML brut

Désespéré, j'ai essayére.search(r'RAM.*?(\d+ Go)', html). Il captait quelques valeurs mais se cassait lorsque le texte était divisé sur plusieu...
[Courte citation de 8% de l'article original]

Loading...