ドメインをクロールするためにscrapyを使用します。sqlalchemy を使用して、そのすべての情報をデータベースに保存する予定です。これはページごとの非常に単純な xpath セレクターであり、HttpCacheMiddleware を使用する予定です。
理論的には、スパイダーからデータを取得したらすぐにデータベースにデータを挿入できます (これには、少なくとも hxs をインスタンス化する必要があります)。これにより、アイテムのサブクラスのインスタンス化をバイパスできるため、パイプラインを通過するアイテムがなくなります。
そうすることの利点は次のとおりです。
- パイプラインの CPU 処理がないため、CPU への負荷が少ない
- メモリリークを防ぎます。
ディスク I/O はネットワーク I/O よりもはるかに高速であるため、これがスパイダーに大きな影響を与えるとは思いません。
Scrapy の Item クラスを使用したい理由はありますか?