我正在尝试抓取一个页面,该页面出于任何原因将scrapy重定向到301,然后将其解析为英语版本,然后对该网站进行了解析,因为规则明确排除了该网址,因此不应该对其进行解析。
在寻找有关如何停止任何重定向的解决方案时,我遇到了以下代码:
meta ={'dont_redirect': True}
不幸的是,这没有任何作用。我的蜘蛛课看起来像这样:
class GetbidSpider(CrawlSpider):
name = 'test'
meta ={'dont_redirect': True}
allowed_domains = ['www.example.de']
start_urls = ['https://www.example.url/bla.html']
rules = (
Rule(
LinkExtractor(allow=['.*Mein-String.*[a-z]::[0-9].*']),
callback='parse_item'
),
Rule(
LinkExtractor(allow=['^.*de\/((?!My-String|:_:|productListingStyle|\.php).)*$']),
follow=True
),
)
在这里配置重定向是正确的地方,为什么在第一个URL规则将不执行的情况下抓取解析输入?
答案 0 :(得分:0)
为什么您尝试的方法不起作用:
meta
是a的属性
Request
,并且仅在每个请求的基础上起作用。如何禁用重定向:
全局禁用重定向的最简单方法是将REDIRECT_ENABLED设置设为False
。