2017-09-04 6 views
1

node.jsを使用することによって、Webページをスクラップしようとしています。このため、cheerioとtinyreqモジュールを使用しています。私のソースコードは次のとおりです:ノード内のWebページの動的データの廃棄

// scrape function 
function scrape(url, data, cb) { 
    req(url, (err, body) => { 
     if (err) { return cb(err); } 
     let $ = cheerio.load(body) 
      , pageData = {}; 
     Object.keys(data).forEach(k => { 
      pageData[k] = $(data[k]).text(); 
     }); 
     cb(null, pageData); 
    }); 
} 
scrape("https://www.activecubs.com/activity-wheel/", { 
    title: ".row h1" 
    , description: ".row h2" 
}, (err, data) => { 
    console.log(err || data); 
}); 

私のコードでは、h1タグのテキストは静的で、h2タグでは動的です。私はコードを実行している間、私は静的なデータを取得している、つまり、説明フィールドのデータが空です。以前のStackOverflowの質問に続いて、私はこの問題を克服するためにファントムjを使ってみましたが、ここでの動的データは、車輪を回転させて得られるデータである。私が使用しているウェブサイトに疑問がある場合は、https://www.activecubs.com/activity-wheel/を確認できます。

答えて

0

ユーザーアクションがSpookyJS

SpookyJSを使用して行うことができるNode.js.からCasperJSスイートを駆動することが可能となるも参照かなり明確です高いレベルでは、SpookyはCasperを子プロセスとして生成し、RPC経由で制御することでこれを実現します。 具体的には、各Spookyインスタンスは、ブートストラップスクリプトを実行する子キャスパープロセスを生成します。ブートストラップスクリプトは、トランスポート(HTTPまたはstdioのいずれか)を介して親SpookyインスタンスからのコマンドをリッスンするJSON-RPCサーバーを設定します。このスクリプトは、JSON-RPCクライアントを設定して、stdoutを介して親のSpookyインスタンスにイベントを送信します。確認するにはdocumentation

Example

関連する問題