私はPurestorage Career pageをスクラップして、Greenhouseのジョブリストを抽出しようとしています。 PhantomJSを使ってページを読み込もうとすると、時々、完全にレンダリングされたページが表示されます。これには、温室のジョブリストjobが含まれています。ページが読み込まれるたびにPhantomJSがすべてのAJAX呼び出しを実行しない
Purestorage career pageのページのソースを見て、私は彼らがjson urlにGETリクエストを発行してジョブをロードしているように思え、次のコード
<div class="container" data-component-name="embed-greenhouse" data-component-url="/api/jobs/v1/jobs.ws.json">
<div id="alert-container" class="container">
</div>
<div class="row">
<div class="col-sm-12 results-col" id="greenhouse">
</div>
</div>
</div>
を参照してください。しかし、PhantomJSはこの要求をいつもしているわけではありません。
すべてのAJAXコールがPhantomJSによって行われていることを確認するにはどうすればよいですか。この特定のWebサイトの特別なコード構造のために起こっていますか?
編集: 私はPhantomjs 2.1.1を使用しています。私はまた、ページを読み込む前にキャッシュをクリアしようとしましたが、運はありません。
page.clearMemoryCache();
APIエンドポイントを直接呼び出すことができるのはなぜPhantomJSを使用するのですか? – Eloims
より一般的な質問です。私はPhantomJSを通して多くのサイトをクロールしますが、この特定のケースはデータを生成しません。 –