déjà nécessaire pour obtenir des données d’une page Web? L’analyse du contenu des données est appelée raclage Web et [Doug Guthrie] a quelques idées pour faire le processus de creuser des données d’une page Web plus simple et beaucoup plus efficace, compléter avec des exemples de code dans Python. Il utilise d’obtenir des données de Yahoo Finance à titre d’exemple, car il est apparemment un cas d’usage assez courant à en juger par la fréquence de questions sur le débordement de la pile. Les concepts généraux sont toutefois très largement applicables.
[Doug] montre que lors de l’analyse d’une page Web pour un certain morceau de données (par exemple, un prix de stock) n’est pas difficile, il y a souvent des moyens beaucoup plus faciles et plus rapides d’y aller. Dans le cas de Yahoo Finance, la page Web Beaucoup d’entre nous examinons n’est pas vraiment la source réelle des données affichées, c’est juste une extrémité avant.
Un moyen d’obtenir beaucoup plus efficacement les données de gratter est d’accéder à la source de la donnée. Dans le cas de Yahoo Finance, les données affichées sur une page Web proviennent d’une variable JavaScript parfaitement facilement accessible à l’utilisateur final, et beaucoup plus facile à analyser et à utiliser. Une autre solution consiste à aller un niveau inférieur et à récupérer des données formatées JSON du même endroit que la page Web frontale; Ignorer complètement le front et le traite essentiellement comme une API non officielle. Quoi qu’il en soit, c’est non seulement beaucoup plus facile que d’analyser le résultat final, mais plus vite et beaucoup plus fiable, de démarrer.
Comment trouver ces ressources? [Doug] donne de bonnes idées sur la manière dont exactement le faire, y compris comment utiliser les outils de développement d’un navigateur Web pour rechercher des demandes XHR sur XHR. Ces méthodes ne fonctionneront pas pour tout, mais ils valent absolument la peine de rechercher si elles sont une option. Une autre ressource à garder à l’esprit est WOOB (Web en dehors des navigateurs), qui dispose d’une excellente liste de backts disponibles pour la lecture et l’interaction avec le contenu Web. Donc, si vous avez besoin de données pour votre programme, mais c’est sur une page Web? Ne laissez pas cela vous arrêter!