ストアのように機能する Django アプリを構築しようとしています。アイテムはインターネットからスクレイピングされ、Django プロジェクト データベースを継続的に更新します (たとえば、数日ごと)。私は Scrapy フレームワークを使用してスクレイピングを実行していますが、実験的なDjangoItem 機能がありますが、不安定なので避けたいと思っています。
現在、私の計画は、クロールされたアイテムの XML ファイルを Scrapy で作成しXMLItemExporter
(ドキュメントはこちら)、それらをloaddata
XML フィクスチャとして Django プロジェクトに使用することです (ドキュメントはこちら)。2 つのプロセスのいずれかが失敗した場合、それらの間にファイル仲介があるため、これは問題ないようです。アプリケーション全体をモジュール化することも、悪い考えではないようです。
いくつかの懸念事項は次のとおりです。
- これらのファイルが大きすぎて Django の
loaddata
. - データベース (この場合は MySQL) に直接エクスポートするなど、より優れた、またはより簡単な解決策があるかもしれないのに、私はこれに多くの時間を費やしています。
- このプロセスについて誰もオンラインで書いていないようです。私の意見では、Scrapy が Django アプリにプラグインするための優れたフレームワークであることを考えると、これは奇妙です。
- Django のドキュメントに Django フィクスチャを手動で作成するための決定的なガイドはありません。アプリ自体からのフィクスチャのダンプとリロードを対象としているようです。
実験的な DjangoItem の存在は、Scrapy + Django が十分に人気のある選択肢であり、ここで適切なソリューションが存在することを示唆しています。
この問題に関する解決策、アドバイス、または知恵をいただければ幸いです。