サイトのスクレイピングが必要なプロジェクトに JSDom を使用することを検討しています。
Amazonのページを試してみることから始めました。サンプルコードは次のとおりです。
jsdom.env(url, ["http://code.jquery.com/jquery.js"], function(errors, window) {
console.log(errors);
var $ = window.$,
results = parseResultsPage($);
//do some stuff
window.close();
});
最初はif(errors.length > 0) ...
条項がありましたが、結局のところ、errors
常にいっぱいです。スクレイピング自体は機能し、必要なすべての結果が得られますが、常に次の結果が得られます。
[ { type: 'error',
message: 'Dispatching event \'DOMNodeInsertedIntoDocument\' failed',
data: { error: [Object], event: [Object] } } ]
これは、エラーを効果的にテストできないことを意味します。このエラーを単に無視することは、私にとって安全ではないと感じています。
助言がありますか?これはAmazon関連の問題でしょうか?(彼らはページで jQuery 1.2.6 を使用しています)
更新:
JSDom github ページ (リンク) に問題を提出しました。