1

私はしばらくの間行ってきた Web スクレイピング プロジェクトからの大きな json ファイルを持っています。現在、JSON データを使用して Web フロントエンドを構築しようとしています。ただし、それを構築するための最良の方法を見つけるのに苦労しています。

json ファイルは次のようになります。

{ 
   "_id" : { "$oid" : "55d5c85a96cc6212bdd4ca08" }, 
   "name" : "Example", 
   "url" : "http://example.com/blahblah", 
   "ts" : { "$date" : 1073423706824 }
}

いくつか質問があります。

  1. json ファイルは時間外に追加されるため、データベースに定期的に追加するか、json ファイルをクラウドのどこかに保管し、必要なときにプルするのが最善の解決策でしょうか?

  2. それをデータベースに入れるとしたら、サイトのフロント エンドの速度を落とさずに定期的にデータベースに追加するにはどうすればよいでしょうか? のようなものを使用できることはわかっていますがjson_decode、ほとんどの場合、json の数行の例しか見たことがありません。より大きな json ファイルに使用できますか?

  3. それをデータベースに入れると、リレーショナルデータベースはより高速/より効率的になりますか、それともmongodbのようなものですか?

4

1 に答える 1

2

自分で多くのWebスクレイピングを行った後、私が推奨するものは次のとおりです。

  1. リレーショナル データベースと非リレーショナル データベースの間で決定します。不明な数のパラメーターでデータが絶えず変化している場合は、MongoDB を使用することをお勧めします (ほとんど JSON であり、完全にスキーマレスであり、新しいファセットを簡単に追加できるため)。データがすべて同じ形式である場合、リレーショナル DB を使用することは良い前進です。PostgreSQL と MariaDB は、優れたオープン ソースのオプションです。

  2. 現在の JSON データを選択した DB 形式に変換して挿入します。

  3. DB に直接スクレイピングを開始し、JSON ファイルを使用しないようにしてください。

  4. フロントエンドのデータベースから読み取ります。Python を選択している場合は、フラスコを適切なオプションと見なすことができます。

Store static data in a array or in a database以前に投稿された、静的ファイルとデータベースに関するいくつかの詳細な回答とともに、非常に興味深い質問もあります。

方程式から静的ファイルを取り出してデータベースを使用する場合、ここに 3 つの質問に対する答えがあります。

  1. データベースを使用するだけです。

  2. データベースへの追加は簡単です。セットアップが完了すると、スクレーパーは関連するドライバーを使用して直接書き込みを行うことができます。繰り返しますが、JSON ファイルは必要ありません。

  3. それはすべてあなたのデータに依存します

于 2013-07-11T22:15:05.000 に答える