2017-02-14 1 views
0

npm requestとcheerioを使用してウェブページを取得し、htmlを解析しようとしています。これはhtmlが要求に応じてロードされる場合にうまく機能します。しかし、私はサイトが最初に読み込み画面を読み込んだ後、しばらくして新しい情報/要素でページを更新するという問題があります。本文を読む前にnpmのリクエストが待たれています

部分コード:私は たい何

var url = 'website with loading screen prior to content.com'; 
var request = require('request'); 
request(url, function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
    console.log(body) // Show the HTML for the Google homepage. 
    } 
}) 

- いずれかの要求がページ上に表示するために特定の要素を待ってから、身体を読み取る能力を持ちます。 OR

その他のオプション を秒の固定数を待ってから身体を読み取ることができる - それは結構ですNPM要求、とできない場合があります。それが正しい場合は、私に正しい方向を教えてください。私が検討している私の他のオプションは、webdriver.ioまたはphantomjsを使用しています。このために推奨される行動措置はありますか?

答えて

0

残念ながら、requestは、リクエストが開始されてから応答を得るまで待機するように設定することはできません。あなたにとって最良のことは、PhantomJSをチェックすることです。それはあなたがページをロードし、レンダリングし、javascriptを介して動的に生成されたコンテンツにアクセスするために使用できるヘッドレスブラウザです。

簡単な例として、answerをご覧ください。

+0

ありがとう、私は私の質問の可能なオプションとしてphantomjsを挙げていた。私は実際にそれを使っていくつかの大きな成功を収めました。 –

+1

@alex_milhouse cool。それは良いパッケージです。 – jordanwillis

関連する問題