Javascript:用Cheerio解析HTML表
我正在尝试开发一个web scraper,使用Cheerio解析HTML表并将结果输出到CSV文件中,不幸的是,代码不会返回任何内容。我的代码如下:Javascript:用Cheerio解析HTML表,javascript,node.js,web-scraping,cheerio,Javascript,Node.js,Web Scraping,Cheerio,我正在尝试开发一个web scraper,使用Cheerio解析HTML表并将结果输出到CSV文件中,不幸的是,代码不会返回任何内容。我的代码如下: var request = require("request"); var cheerio = require("cheerio"); var fs = require("fs"); var url = "https://stat.epa.gov.tw/"; request(url, function(err, response, html){
var request = require("request");
var cheerio = require("cheerio");
var fs = require("fs");
var url = "https://stat.epa.gov.tw/";
request(url, function(err, response, html){
if(!err) {
var $ = cheerio.load(html);
var allitems = $('table.tableAQI').children().children();
var items = []
allitems.each(function(index){
var result = $('table.tableAQI').children().children().eq(index).find("td").text();
if(result !="") {
items.push(result);
}
});
fs.writeFile("output2.csv", JSON.stringify(items, null, 4), function(err){
if(err) {
console.log(err);
} else {
console.log("Data has been written");
}
});
console.log(items);
}
});
该网站提供了两个表,我尝试了相同的代码来解析另一个表('table.aqicolor'),它工作得很好,所以我不确定到底出了什么问题
感谢您的支持。
代码不会返回任何内容
您想返回什么?如果要返回异步的内容,请返回承诺。我想将表的td值附加到items数组中,然后将该数组保存在csv文件中。当我运行代码时,数组是空的。我对站点上的另一个表尝试了相同的代码,它返回了值,所以我猜它与该表有关。所以问题不是没有返回任何内容,而是没有填充文件。是的,我想你是对的,我的错。数据不在该响应中,而是