2016-08-18 21 views
1

Scrapyは、それがDEPTH_LIMIT settingを持っていると示していますが、具体的には「深さ」とは考えていません。ページのスクラップに関しては、「深さ」は「深さ」を参照しています。http://somedomain.com/this/is/a/depth/six/url、そのURLで要求されたページの深さは「6」です。http://somedomain.com深さゼロである。DEPTH_LIMITは正確に何を指していますか?現在の深さは参照可能ですか?

一方、ツリーのスクレイピングを検討する場合、深度は出発地からどのくらい離れているかを参照する可能性が高くなります。したがって、最初のURLがhttp://somedomain.com/start/hereであれば、それは深さゼロであり、その応答で見つかったリンクは深さ1です。

Scrapyはこれらの定義の1つを使用していますか?もしそうなら、どちらですか?後者の場合(これは論理的です)、クローラで応答を処理しているとき、またはパイプラインのアイテムとして後処理しているときに、その深さ情報を取得する方法はありますか?

+1

これを作るかどうかは分かりませんが、私はそれがメタデータにあると思います。(私はscrapyを使用してから年月を経ています) 'response.meta ['depth'] 「何でもいい?そして、はい、私は、それが後で、治療がツリーを横断する方法のためだと思います...(少なくとも私はそれがDFSだと思っています...しかし、それはしばらく...) –

+0

@JonClementsはい!それはまさに私が必要とした情報であり、理論を証明しています。ありがとう!あなたが答えを提出したいなら、私はそれを受け入れるでしょう! –

+0

さて、やりました...有益なこともあります...うまくいけば私はそれを作っていない - 私は言ったように - それはしばらくしてきた... –

答えて

1

ScrapyはトラバーサルのためにDFSアプローチを使用し、現在の深さはレスポンスメタデータ:response.meta['depth']でアクセスできます。

関連する問題