使用 Node.js 从网页中抓取 URL

Scraping URLs from a web page with Node.js

我正在尝试从网站上抓取所有 URL 并将它们放入一个数组中。我有一个关于数组索引的问题。如果我在数组 [2] 中添加一个像 2 这样的索引号,命令行会回复 "undefined"。如果我删除索引并打印整个数组,它会逐行打印所有 URLs。我希望每个 URL 都是自己的索引,例如:

任何人都可以指出我正确的方向吗?谢谢你。

  var request = require('request');
    var cheerio = require('cheerio');

   var url = 'http://www.hobo-web.co.uk/';

    request(url, function(err, resp, body){
      $ = cheerio.load(body);
      links = $('a'); //use your CSS selector here
      $(links).each(function(i, link){
        var array = $(link).attr('href');
        console.log(array[2]);

      });
    });``

您需要首先将数组创建为可在 .each 循环中访问的变量,然后继续将 href 值推送给它。

var request = require('request');
var cheerio = require('cheerio');

var url = 'http://www.hobo-web.co.uk/';

var array = [];

request(url, function(err, resp, body){
  $ = cheerio.load(body);
  links = $('a');
  $(links).each(function(i, link){
    var href = $(link).attr('href');
    array.push(href);
  });
});