Des nouvelles ont été ajoutées en tête de listes.
Remontez pour les voir.
Inscription à la newsletter
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...
🍪
Le modèle économique de notre site repose sur l'affichage de publicités personnalisées basées sur l'utilisation de cookies publicitaires. En continuant votre visite sur notre site, vous consentez à l'utilisation de ces cookies.
Politique de confidentialité