私は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
これがうまくいかない理由はありますか?