私は最近、非常に効率的なScrapyを発見しました。しかし、Python で書かれたより大きなプロジェクトにそれを埋め込む方法が本当にわかりません。通常の方法でスパイダーを作成したいのですが、関数を使用して特定の URL で起動できるようにします。
start_crawl(url)
これにより、特定のドメインでクロール プロセスが開始され、すべてのページが表示されたときにのみ停止します。
私は最近、非常に効率的なScrapyを発見しました。しかし、Python で書かれたより大きなプロジェクトにそれを埋め込む方法が本当にわかりません。通常の方法でスパイダーを作成したいのですが、関数を使用して特定の URL で起動できるようにします。
start_crawl(url)
これにより、特定のドメインでクロール プロセスが開始され、すべてのページが表示されたときにのみ停止します。
Scrapy ははるかに複雑です。複数のプロセスを実行し、マルチスレッドを使用します。したがって、実際には通常の python 関数として使用する方法はありません。もちろん、クローラーを起動する関数をインポートして呼び出すこともできますが、ではどうすればよいでしょうか。プログラムを制御する通常のスクラッププロセスがあります。
おそらく、ここでの最良のアプローチは、プログラムのサブプロセスとしてスクラップを実行し、データベースまたはファイルを使用して通信することです。プログラムとクローラーを適切に分離し、メイン プロセスをしっかりと制御します。