我需要编写一个Node.js函数,在官方网站上找到所有可用的Node.js版本。为此,我希望收到此链接的内容:https://nodejs.org/download/release/,但是以数组的形式。有没有办法如何通过某个模块自动接收和解析可用的URL,或者我是否需要通过http
请求网站,然后以某种方式手动解析内容,如果是,如何?
答案 0 :(得分:1)
根据rahilwazir的建议,您可以使用不同的URL来为您提供JSON。
var request = require('request');
request( 'https://raw.githubusercontent.com/nodejs/nodejs.org/master/source/versions.json',
function(err, resp, json) {
if (err) return console.error(err);
var data = JSON.parse(json);
// Do what you need here
};
);
如果您真的想要抓取您提到的HTML页面,可以使用以下内容,从http://maxogden.com/scraping-with-node.html复制粘贴(和改编)
var $ = require('cheerio');
function gotHTML(err, resp, html) {
if (err) return console.error(err);
var parsedHTML = $.load(html);
// get all a tags and loop over them
var links = parsedHTML('a').map(function(i, link) {
return $(link).attr('href');
});
}
request('https://nodejs.org/download/release/', gotHTML);