私は、ユーザーがプログラムに URL の長いリスト (たとえば 100 個の URL) を提供する Python プロジェクトに取り組んでおり、プログラムは 100 個のプロセスを生成して、クローラー コードを含む JavaScript コードを実行します (を使用Apify.launchPuppeteer()
)。さらに、JavaScript コードは、Apify Puppeteer シングル ページ テンプレートに基づいて作成および変更されます。
ただし、100 個のプロセスでクロール コードを同時に呼び出すと、大量のメモリが使用され、遅延が発生します。Python コードは JavaScript コードによって書き込まれたファイルからの結果の読み取りを待機しているため、メモリ不足はパフォーマンスに大きく影響し、ファイル書き込みでエラーが発生します。JavaScript クローラー コードを最適化する方法はあるのでしょうか、それとも両方で改善できる点があるのでしょうか?
いくつかの編集 --- プログラムに関する追加情報: ユーザーが URL (ドメイン) のリストを指定すると、プログラムはドメイン内のすべてのリンクをクロールしようとします (たとえば、ドメイン github.com のすべてのハイパーリンクをクロールします)。