Sto provando a racimolare un website ma non ottengo alcuno degli elementi, perché questi elementi sono creati dinamicamente.Come posso raschiare le pagine con contenuto dinamico usando node.js?
Io uso il cheerio in node.js e il mio codice è di sotto.
var request = require('request');
var cheerio = require('cheerio');
var url = "http://www.bdtong.co.kr/index.php?c_category=C02";
request(url, function (err, res, html) {
var $ = cheerio.load(html);
$('.listMain > li').each(function() {
console.log($(this).find('a').attr('href'));
});
});
Questo codice restituisce risposta vuota, perché quando la pagina viene caricata, il <ul id="store_list" class="listMain">
è vuoto.
Il contenuto non è stato ancora aggiunto.
Come posso ottenere questi elementi utilizzando node.js? Come posso raschiare le pagine con contenuti dinamici?
usa phantom.js un browser headless, caricherà e renderizzerà la pagina. puoi accedere a diversi elementi sulla pagina usando la sua API javascript. – Safi
Grazie Safi! Ma potresti darmi uno snippet di codice o qualche riferimento a questo caso? – JayD