さまざまな Web サイトに関するいくつかの情報を収集しようとしています。Item
どのページで見つけたかに関係なく、そのサイト全体で見つけた情報を要約したサイトごとに 1 つ作成したいと考えています。
クローラーが最初に調べたページの結果ではなく、の最終的なコンテンツが必要であることを除いて、これは重複フィルターの例のようなアイテム パイプラインであるべきだと思います。Item
そこで、特定のサイトのさまざまなs にrequest.meta
部分的に入力された単一の s を渡すために使用してみました。これを機能させるには、アクセスするページがなくなるまでparse コールバックが 1 回の呼び出しで正確に 1 つの new を返すようにし、最後に finished を返す必要がありました。たどりたい複数のリンクを見つけた場合、これは苦痛であり、リンク サイクルのためにスケジューラが要求の 1 つを破棄すると完全に機能しなくなります。Item
Request
Request
Item
私が見ることができる他の唯一のアプローチは、スパイダー出力をjson-linesにダンプし、外部ツールで後処理することです。しかし、できればミドルウェアまたはアイテムのパイプラインで、スパイダーに折りたたむことをお勧めします。どうやってやるの?