使用 Node.js 从网页中抓取 URL
Scraping URLs from a web page with Node.js
我正在尝试从网站上抓取所有 URL 并将它们放入一个数组中。我有一个关于数组索引的问题。如果我在数组 [2] 中添加一个像 2 这样的索引号,命令行会回复 "undefined"。如果我删除索引并打印整个数组,它会逐行打印所有 URLs。我希望每个 URL 都是自己的索引,例如:
- 数组[0] = 第一个 URL 找到
- 数组[1] = 第二个URL 找到
- array[2] = Thirs 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);
});
});
我正在尝试从网站上抓取所有 URL 并将它们放入一个数组中。我有一个关于数组索引的问题。如果我在数组 [2] 中添加一个像 2 这样的索引号,命令行会回复 "undefined"。如果我删除索引并打印整个数组,它会逐行打印所有 URLs。我希望每个 URL 都是自己的索引,例如:
- 数组[0] = 第一个 URL 找到
- 数组[1] = 第二个URL 找到
- array[2] = Thirs 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);
});
});