[英]How can I retrive URL from xml by Node.js?
我正在抓取网页。 目前,我想抓取一个网站。 我有一个来自robots.txt文件的xml文件链接。 现在,我想从该xml中读取所有url。 但是不能这样做。 有人可以帮我弄清楚吗?
XML格式:
<urlset>
<url>
<loc>http://www.xxxx.com/</loc>
<changefreq>test</changefreq>
</url>
<url>
<loc>http://www.xxxx.com/</loc>
<changefreq>test</changefreq>
</url>
</urlset>
这是我的代码:
var fs = require('fs')
, flow = require('xml-flow')
, inFile = fs.createReadStream(xml_file_url)
, xmlStream = flow(inFile)
;
xmlStream.on('tag:urlset', function(err,url) {
if(err)
return console.log(err);
console.log(url);
res.send('Check your console!')
});
我想要loc的所有url并将它们推入数组。 我怎么解决这个问题? 提前致谢。
您可以选择tag:loc并将每个标签推送到数组:
var fs = require('fs'),
flow = require('xml-flow'),
http = require('http');
var file = fs.createWriteStream('site.xml');
http.get('http://ajkerdeal.com/sitemap.xml', function(res) {
res.on('data', function(data) {
file.write(data);
}).on('end', function() {
file.end();
var inFile = fs.createReadStream("site.xml"),
xmlStream = flow(inFile);
var array = [];
xmlStream.on('tag:loc', function(url) {
array.push(url.$text);
});
xmlStream.on('end', function(url) {
console.log(array);
});
})
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.