私は多くの Web スクレイピングを行っており、プロジェクトごとに、未加工のページ/ファイルを名前空間付きのディレクトリに保存することを含む、一種のフレームワーク/バックエンドを書き直していることに気付きます。また、日付やエラー メッセージなどを追跡するためのデータベースを作成することもあります。
この種のタスクのためにすでに構築されているそのようなフレームワークがあるかどうか疑問に思っていました. Nokogiri/Mechanize/etc のような HTML パーサーの使用の組み合わせである実際のスクレイピング タスク自体を意味するのではなく、スクレイパーとそれらが収集するデータの管理を意味します。私が行ういくつかのタスクでは、データ収集に段階があります。
例えば:
- サイトを反復処理し、未加工のページをダウンロードします
- 保存された生のページを解析し、データを抽出します
- データを消去します (これには、ステージ 2 では不可能な他の外部プロセスが含まれる場合があります)
したがって、スクレイパーがいつ開始され、どのように実行され、生データがどこに保存されたかを追跡するのに役立つシステムはどれも素晴らしいものです。私は MongoDB を使用して自分のものを書くことを考えましたが、誰かがこれを私よりもうまくやったと確信しています。