我正在尝试抓取一个网站,但我不知道如何获得我想要的选择器。我正在使用这个功能:
function scrapeData(urls) {
var data = [];
var urlPromises = urls.map(function(url) {
return request(url).spread(function(response, html){
if (response.statusCode == 200) {
var $ = cheerio.load(html);
var elements = $('.IframePrincipal').toArray();
// Items to scrape
return elements.map(function(el, index){
var title = $(el).find('h2').text().replace(/^\s+|\s+$/g, "");
var stock = $('#FormASP > table:nth-child(4) > tbody > tr > td > table > tbody > tr:nth-child(2) > td.IframePrincipal > table > tbody > tr > td > table > tbody > tr > td:nth-child(2) > table > tbody > tr:nth-child(3) > td > table > tbody > tr > td').html();
var price = parseFloat($(el).find('td:nth-child(1)').text().replace(/\€|,/g, '.'));
// Push items into data array
return {Title: title, Stock: stock, Price: price, date: date};
});
}
else {
return [];
}
}, function(error){
console.log("Error");
return [];
});
});
return Promise.all(urlPromises).then(flatten);
}
Var title 就像一个魅力。Var Stock 没有,它只是我复制粘贴的 css 路径,而 var 价格来自以前的网站,无论如何我也不知道要得到它。我只是得到“空”。
这是要抓取的 url 示例:要抓取的 站点