Comment récupérer des données de page Web générées dynamiquement via JavaScript
Bien que le web scraping soit une technique courante pour extraire des données de sites Web, elle devient plus difficile lorsque les données sont générées par JavaScript après une interaction utilisateur. Dans ce cas, les données ne sont pas initialement disponibles dans la source HTML, ce qui nécessite des étapes supplémentaires pour y accéder.
Utilisation de PhantomJS pour le grattage dynamique des données
Pour les récupérer dynamiquement données générées, l’outil PhantomJS peut être utilisé. PhantomJS imite un navigateur Web sans tête qui interagit avec les pages Web via une API JavaScript. En créant un script PhantomJS, vous pouvez simuler les interactions des utilisateurs et capturer les données dont vous avez besoin.
Voici un extrait utilisant PhantomJS pour extraire les données souhaitées du site Web fourni :
const page = require('webpage').create(); page.open('http://vtis.vn/index.aspx', function () { page.evaluate(function () { // Simulate clicking the "Danh sách chậm" button document.querySelector('.IconMenuColumn').querySelector('a').click() }); // Wait for data to load setTimeout(function () { // Extract the data let data = page.content; }, 1000); });
Alternative Approche : intégration d'API
Bien que le scraping puisse être efficace, il est important d'explorer des options alternatives. Si le site Web que vous supprimez propose une API, son utilisation serait plus efficace et plus facile à maintenir que le scraping d'écran. Essayez de contacter les propriétaires du site Web pour vous renseigner sur les API disponibles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!