所以我有这个 node.js 脚本,它可以抓取网页的某些部分:
var cheerio = require('cheerio');
var request = require('request');
var x = 1;
request({
method: 'GET',
url: 'https://balticnews.net/'
}, function(err, response, body) {
if (err) return console.error(err);
$ = cheerio.load(body);
$('#table, td').eq(x).each(function() {
console.log($(this).text());
});
});
但我需要 x 改变。我尝试创建一个 for 循环,但没有任何改变。我需要当我运行这个程序时,它会显示 x=1 然后 1+5 然后 6+5 等等的结果,这很难解释:D 当然我可以复制并粘贴很多次并选择我需要的号码:
$('#table, td').eq(x).each(function() {
console.log($(this).text());
});
但我想学习如何做得更快
最佳答案
所以我知道你只想要索引:1,6,11 ..可能的解决方案是:
//Not tested
$('#table, td').each(function(index,element) {
if(index%5==1){
element.each(function(){
console.log($(this).text());
})
}
});
关于node.js - 需要关于 Cheerio eq() 变量的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34885748/