Node.js http:解析“索引”

时间:2016-01-28 14:28:39

标签: javascript node.js http

我需要编写一个Node.js函数,在官方网站上找到所有可用的Node.js版本。为此,我希望收到此链接的内容:https://nodejs.org/download/release/,但是以数组的形式。有没有办法如何通过某个模块自动接收和解析可用的URL,或者我是否需要通过http请求网站,然后以某种方式手动解析内容,如果是,如何?

1 个答案:

答案 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);