我正在尝试搜索使用 no-js html类的网页。 我想出了代码来抓。
现在该网页总是有一个表格,我希望excel文件中有完整的表格。 这意味着要刮掉网页并将表转储到文件中。
我该怎么做?
到目前为止,这是代码。
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");
});
答案 0 :(得分:1)
您可以使用请求模块获取页面标记,然后使用cherrio解析它。
Cherrio提供了一个可以在服务器上使用的轻量级jquery实现: https://github.com/MatthewMueller/cheerio
Request提供简化的http客户端: https://github.com/mikeal/request
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(', '));
});
});