と を使用して Web サイトをスクレイピングする方法を説明するチュートリアルがいくつかありrequest
ますcheerio
。これらのチュートリアルでfs
は、以下の例に示すように、出力をコンソールに送信するか、DOM をファイルにストリーミングします。
request(link, function (err, resp, html) {
if (err) return console.error(err)
var $ = cheerio.load(html),
img = $('#img_wrapper').data('src');
console.log(img);
}).pipe(fs.createWriteStream('img_link.txt'));
しかし、スクリプトの実行中に出力を処理したい場合はどうすればよいでしょうか? 出力にアクセスしたり、呼び出し元の関数に送り返すにはどうすればよいですか? もちろん、そこから情報を読み込んimg_link.txt
で取得することもできますが、これにはコストがかかりすぎて意味がありません。