1

動的にページ分割された 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 ページずつ情報を抽出するにはどうすればよいですか?

4

0 に答える 0