只允许内部链接在scrapy

2024-04-20 03:17:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个我想收集的网址列表-3000个。在

我想深入每个网址三个层次,但我不想去外部网址-只有在我的开始名单的领域内的链接。在

我知道如果我只想用几个url来实现这一点,我只需填充allowed_domains列表。在

然而,当你到达3000个url时,allowed_domains列表太大,Scrapy无法处理(据我所知,它将其转换为一个大的RegEx),因此它会中断。。。在

有什么想法吗?在

在“规则”列表里写点什么就好了。 rules = (Rule(SgmlLinkExtractor(allow = (<local_links_only??>)) ,callback = 'parse_item'),)

或者是在非现场中间件中的某个东西-总之是为了获得引用链接?在

或者把工作分批处理?一次获得50个网址?是否有任何钩子允许这样的东西-我可以看到start_requests-但是没有对类似finish_requests的回调,我可以用它再次填充start_urls列表?在

盖伊


Tags: url列表链接规则rulerequestsstart领域