我是node.js的新手,非常感谢任何帮助。
我已经将任务从网站上删除了产品名称和价格 - 在本例中是一个记录存储(http://www.recordstore.co.uk/recordstore/New-Releases/)。
当我运行以下代码来收集产品价格时,会返回40个未定义的值,但不会返回40个价格。你能告诉我哪里出错了吗?提前谢谢。
代码:
var request = require('request'),
cheerio = require('cheerio');
prices = [];
request('http://www.recordstore.co.uk/recordstore/New-Releases/', function(err, resp, body){
if (!err && resp.statusCode == 200){
var $ = cheerio.load(body);
var price = $('dl', '#col2').each(function(){
var price = $(this).attr('dd.price');
prices.push(price);
});
console.log(prices);
}
});
答案 0 :(得分:0)
您需要使用dd
class="price"
元素的价格
$('dl', '#col2').each(function() {
var price = $('dd.price', this).text();
prices.push(price);
});