【发布时间】:2012-05-18 17:17:36
【问题描述】:
我目前正在使用 scrapy 的 CrawlSpider 在多个 start_urls 列表中查找特定信息。我想做的是在找到我要查找的信息后停止抓取特定 start_url 的域,这样它就不会一直访问域,而只会访问其他 start_url。
有没有办法做到这一点?我试过像这样附加到deny_domains:
deniedDomains = []
...
rules = [Rule(SgmlLinkExtractor(..., deny_domains=(etc), ...)]
...
def parseURL(self, response):
...
self.deniedDomains.append(specificDomain)
附加似乎并没有停止爬行,但如果我用预期的特定域启动蜘蛛,那么它会按要求停止。所以我假设你不能在蜘蛛启动后更改 deny_domains 列表?
【问题讨论】: