動的にページ分割された Web サイトを破棄しています。ページは js を使用して読み込まれ、URL からはアクセスできません。
各ページから情報を抽出し、標準出力に出力し、次のページに移動してプロセスを繰り返す必要があります。
ページをロードするには、費用のかかるセットアップ プロセスが必要です。
セットアップを繰り返さずに実行する最も簡単な方法は、次のページがあるかどうか、およびプロセスを終了しないかどうかを確認する実行コールバックとして再帰関数を使用することです。
このようなもの:
function extractInfoAndGoToNextPage(err, nightmareInstance){
function isThereNextPage(result){
if(!result) process.end()
}
nightmareInstance.evaluate(extractInfo, printInfo)
.exists(nextPageSelector, isThereNextPage)
.click(nextPageSelector)
.wait()
.run(extractInfoAndGoToNextPage)
}
new Nightmare().goto(website)
...setup process...
.run(extractInfoAndGoToNextPage)
問題は、実行後にインスタンスの状態が緩んでいるように見えることです。
ページごとにインスタンスをセットアップする必要なく、一度に 1 ページずつ情報を抽出するにはどうすればよいですか?