私はJSOUPをスクレイピングに使用しており、ajaxとjavascriptがWebページのコンテンツを表示する役割を果たさなくなるまで完全に機能します。
ページが完全にロードされた後、ajaxまたはJavaScriptで表示されるコンテンツをスクレイピングする方法について、手がかりを教えてください。
前もって感謝します !!
ヘッドレス ブラウザをPhatomJSとして使用できます。
PhantomJS は、JavaScript API でスクリプト可能なヘッドレス WebKit です。DOM 処理、CSS セレクター、JSON、Canvas、SVG など、さまざまな Web 標準を高速かつネイティブにサポートしています。
作業を楽にするために、 CapserJSを使用できます
CasperJS は PhatomJS のコンパニオンであり、大幅に改善された API を提供して、スクレイピングおよび自動化ワークフローの作成を容易にします。
これらのツールは、動的コンテンツを含む Web サイトをスクレイピングする必要がある場合に非常に便利です。たとえば、Javascript でプロセスを実行した後にコンテンツが表示される Web サイト (場合によっては ajax 呼び出しを含む) です。
casperがどのように機能するかについての例をここで見ることができます:
CasperJs と Jquery with chained Selects
JSoup で直接行うことはできません。ヘッドレス ブラウザが必要になりますが、これははるかに複雑です。Firefox、Safari などのヘッドレス バージョンがあります。「headless X」 (X は使用するブラウザー エンジン) を検索すると、いくつかの有用なプロジェクトが表示されるはずです。