抓取有限的页数

时间:2014-05-22 22:20:08

标签: scrapy scrapy-spider

我正在为一个论坛写蜘蛛。我试图以递归方式抓取某个部分的页面。所以我制定了以下规则:

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

是否可以设置页面限制,以便蜘蛛可以抓取有限数量的页面?例如,从第1页爬到第8页。

1 个答案:

答案 0 :(得分:3)

SgmlLinkExtractor的{​​{3}}参数采用正则表达式。因此,您可以通过执行以下操作修改允许正则表达式以查找任何数字(\d)以仅查找范围[1-8]

SgmlLinkExtractor(allow=('&order=desc&page=[1-8]'),restrict_xpaths=("//td[@class='navpage']/a"))
,callback='parse_items', follow= True),