【发布时间】:2015-04-21 17:12:43
【问题描述】:
我正在尝试使用具有以下功能的 Scrapy 实现 CrawlSpider。 基本上,我的起始 url 包含不同部分的 url 列表。我想只从特定部分抓取网址,然后抓取它们。 为了做到这一点,我使用restrict_xpaths 定义了我的链接提取器,以便将我想要抓取的链接与其他链接隔离开来。 然而,由于restrict_xpaths,当蜘蛛试图抓取一个不是起始URL 的链接时,它会停止,因为它没有找到任何链接。 所以我尝试添加另一个规则,该规则应该通过使用应用于 start_url 的拒绝域来确保开始 url 之外的链接被抓取。但是,此解决方案不起作用。 任何人都可以提出一个可能的策略吗? 现在我的规则是:
rules = {Rule(LinkExtractor(restrict_xpaths=(".//*[@id='mw-content- text']/ul[19]"), ), callback='parse_items', follow=True),
Rule(LinkExtractor(deny_domains='...start url...'), callback='parse_items',follow= True),}
【问题讨论】: