我正在尝试为 nodeJS 构建一个非常简单的爬虫函数 - 只是一个我可以将 URL 传递给的函数,它会将爬取的数据返回为var data
.
我对 Node.js 完全陌生,无法弄清楚为什么以下内容不起作用:
var request = require('request');
var cheerio = require('cheerio');
function scrape(url) {
console.log("Scraping: " + url);
request(url, function(err, resp, body) {
if (err) {
throw err;
}
var html = cheerio.load(body);
return html;
});
}
var data = scrape('http://www.stackoverflow.com');
$ = data;
var logo = $('#hlogo a').text();
console.log(logo);
上面的代码应该返回"Stack Overflow"
,但显然没有。当我在控制台中运行它时,我得到一个错误:
var logo = $('#hlogo a').text();
^
TypeError: Property '$' of object #<Object> is not a function
任何想法为什么这对我不起作用?