Javascript 如何从没有js类的网页中转储表格数据?
我试图浏览一个使用无jshtml类的网页。 我已经想出了一些代码来刮 现在,网页总是有一个表,我想在excel文件中完整的表。 这意味着浏览网页并将表格转储到文件中 我该怎么做 这是到目前为止的代码Javascript 如何从没有js类的网页中转储表格数据?,javascript,node.js,web-scraping,Javascript,Node.js,Web Scraping,我试图浏览一个使用无jshtml类的网页。 我已经想出了一些代码来刮 现在,网页总是有一个表,我想在excel文件中完整的表。 这意味着浏览网页并将表格转储到文件中 我该怎么做 这是到目前为止的代码 var http = require("http"); function download(url, callback) { http.get(url, function(res) { var data = ""; res.on('data', function (chunk)
var http = require("http");
function download(url, callback) {
http.get(url, function(res) {
var data = "";
res.on('data', function (chunk) {
data += chunk;
});
res.on("end", function() {
callback(data);
});
}).on("error", function() {
callback(null);
});
}
var url = "http://kayak.com"
download(url, function(data) {
if (data) {
console.log(data);
}
else console.log("error");
});
您可以使用请求模块获取页面标记,然后使用cherrio解析它 Cherrio提供了可在服务器上使用的轻量级jquery实现: 请求提供了一个简化的http客户端:
您需要安装模块:
npm安装cheerio请求--save
Um。这不能解决我的问题。我想要完整的表及其所有rwo列条目。使用你的代码并不能做到这一点。我只需要文本数据;没有html标记或内容。@R11G我更新了我的示例,以完全解析单元格的文本。
var request = require('request');
var cheerio = require('cheerio');
var url = 'http://kayak.com';
request(url, function(err, res, body){
$ = cheerio.load(body);
var $rows = $('table tr').toArray();
$rows.map(function(row){
var cells = $(row).find('td').toArray();
console.log(cells.map(function(cell){
return $(cell).text().trim();
}).join(', '));
});
});