0

フォーラム用のスパイダーを書いています。セクションのいくつかのページを再帰的にクロールしようとしています。そこで、以下のルールを設定しました。

rules = (
    Rule (SgmlLinkExtractor(allow=('&order=desc&page=\d'),restrict_xpaths=("//td[@class='navpage']/a"))
    ,callback='parse_items', follow= True),)

スパイダーが限られた数のページをクロールできるように、ページ制限を設定することは可能ですか? たとえば、1 ページから 8 ページまでクロールします。

4

1 に答える 1

3

のパラメータは正規表現を取りますSgmlLinkExtractorallowしたがって、正規表現を変更して任意の数字 ( \d) を検索し、範囲のみを検索するには、次のようにします[1-8]

SgmlLinkExtractor(allow=('&order=desc&page=[1-8]'),restrict_xpaths=("//td[@class='navpage']/a"))
,callback='parse_items', follow= True),
于 2014-05-23T02:52:25.880 に答える