1

URL コンテンツをスクレイピングするノード プログラムを作成しました。多くのことがマシンに出入りするuncaughtExceptionため、デーモンを強制終了させる代わりに、エラー結果をログ ファイルにスローするためのプロセス リスナーがあります。最近そのログ ファイルを確認したところ、何か問題があることに気付きました。頻繁にスローされるエラーとスタック トレースを次に示します。

スタックトレース:

ReferenceError: GEL が Object._onTimeout (http://www.freep.com/article/20110809/ENT04/110809051/1001/news:undefined:undefined:2:25) で Timer.callback (timers.js: 83:39)

あまり有益ではありません。当然のことながら、ソース コードを rgrep しましたGEL。次に、すべてのノード モジュールの依存関係 (それほど多くはありません) を rgrep しましたGEL。次に、ノードをrgrepしましたGEL。次に、v8 を rgrep しましたGEL。それから私は立ち止まって、StackOverflowに尋ねました...私は何が間違っていますか? (ランダムな文字列を評価しようとするなど、コードであまりにも不合理なことはしていません。)

重要: ノード v 0.4.9 ... v 0.4.10 でもスローされると思います

4

1 に答える 1

3

私は問題を理解しました。実際、それは私のコードのせいでした。私がデバッグしていたコードはjsdom、私がスクレイピングしていた Web ページから JavaScript を解釈するモジュールを使用していました。タグを取り除き、追加の引数を呼び出しに渡すregexように改善することで、私が抱えていた問題を修正しました。<script>featuresjsdom.env

jsdom.env({
  html: myHtml, 
  done: myCallback,
  url: url,
  features : {
        FetchExternalResources       : [],
        ProcessExternalResources     : false
        }
});
于 2011-08-23T22:13:51.170 に答える