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 回答