代码在控制台中工作但在终端中不工作
Code working in console but not in terminal
由于我是初学者,这是我在 Whosebug 上的第一个问题:)!
我正在尝试使用 cheerio 和 nodeJs 在 html 页面中提取某些数据属性的值,这是我的代码:
var request = require('request');
var cheerio = require('cheerio');
var url = 'http://www.example.com/example';
request(url, function(err, resp, body){
var dataList = $(".example").map(function() {
return $(this).data("example");
}).get();
console.log(dataList.join("|"));
});
这是我正在处理的 html:
<span class="item-link"><span class="example" data-mel="example">
<img src="/#" alt="" />
</span></span>
所以我遇到的问题是,当我尝试在终端中 运行 我的代码时,出现此错误:error
但是当我 运行 这部分在控制台 chrome 时:
var dataList = $(".mel").map(function() {
return $(this).data("mel");
}).get();
console.log(dataList.join("|"));
有效!!! :( 但我想 运行 它在我的终端中,所以我可以迭代!
所以我设法使用以下代码使其在我的终端中工作:
var request = require("request"),
cheerio = require("cheerio"),
url = "http://www.example.com/example";
var mail2 = [];
request(url, function (error, response, body) {
if (!error) {
var $ = cheerio.load(body);
$('.item-link').each(function(i, elem){
mail2[i] = $(".example").data("example");
});
console.log(mail2.join(', '));
但后来我一次又一次地得到相同的元素,它并没有提取整个页面。
抱歉造成这么大的混乱,如果我能更具体一点,请告诉我!!
请原谅我的英文 C: !
谢谢 :-)
尝试将代码切换为:
var request = require("request"),
cheerio = require("cheerio"),
url = "http://www.example.com/example";
var mail2 = [];
request(url, function (error, response, body) {
if (!error) {
var $ = cheerio.load(body);
$('.item-link').each(function(i, elem){
mail2[i] = $(elem).find(".example").data("example");
});
}
});
console.log(mail2.join(', '));
由于我是初学者,这是我在 Whosebug 上的第一个问题:)!
我正在尝试使用 cheerio 和 nodeJs 在 html 页面中提取某些数据属性的值,这是我的代码:
var request = require('request');
var cheerio = require('cheerio');
var url = 'http://www.example.com/example';
request(url, function(err, resp, body){
var dataList = $(".example").map(function() {
return $(this).data("example");
}).get();
console.log(dataList.join("|"));
});
这是我正在处理的 html:
<span class="item-link"><span class="example" data-mel="example">
<img src="/#" alt="" />
</span></span>
所以我遇到的问题是,当我尝试在终端中 运行 我的代码时,出现此错误:error
但是当我 运行 这部分在控制台 chrome 时:
var dataList = $(".mel").map(function() {
return $(this).data("mel");
}).get();
console.log(dataList.join("|"));
有效!!! :( 但我想 运行 它在我的终端中,所以我可以迭代!
所以我设法使用以下代码使其在我的终端中工作:
var request = require("request"),
cheerio = require("cheerio"),
url = "http://www.example.com/example";
var mail2 = [];
request(url, function (error, response, body) {
if (!error) {
var $ = cheerio.load(body);
$('.item-link').each(function(i, elem){
mail2[i] = $(".example").data("example");
});
console.log(mail2.join(', '));
但后来我一次又一次地得到相同的元素,它并没有提取整个页面。
抱歉造成这么大的混乱,如果我能更具体一点,请告诉我!! 请原谅我的英文 C: !
谢谢 :-)
尝试将代码切换为:
var request = require("request"),
cheerio = require("cheerio"),
url = "http://www.example.com/example";
var mail2 = [];
request(url, function (error, response, body) {
if (!error) {
var $ = cheerio.load(body);
$('.item-link').each(function(i, elem){
mail2[i] = $(elem).find(".example").data("example");
});
}
});
console.log(mail2.join(', '));