0

我在 scrapy 中使用 SgmlLinkExtractor 功能来解析特定的 url。

我重写了 start_requests 函数来抓取动态 url。

这看起来像:

start_requests(self): ..... yield Requests(url.strip(), callbackA)

回调 A 现在什么都不做。

我还为 SgmlLinkExtractor 实现了 process_value,但它从未调用过。

这是我正在使用的规则:

rules = [Rule(SgmlLinkExtractor(allow=()), callback=callbackB, follow=True),]

再次回调B 从未调用过。

4

1 回答 1

0

如果您的回调在您的蜘蛛中声明,那么它们将没有全局范围,您需要将它们引用为您的类的范围self.

rules = [
  Rule(SgmlLinkExtractor(), callback=self.callbackB, follow=True),
]
于 2012-07-24T14:32:37.063 回答