scrapy shell:我只看到 spider 打开,然后我得到了 Zalando 页面的超时

scrapy shell: I only see spider opened and then I get a time out for Zalando pages

当我在 scrapy shell 并且我 运行:

fetch('https://www.google.nl')

然后我得到一个正常的响应:

2020-11-19 12:42:00 [scrapy.core.engine] INFO: Spider opened
2020-11-19 12:42:00 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.google.nl> (referer: None)

但是当我为 Zalando 页面执行此操作时,例如:

fetch('https://www.zalando.de/nike-sportswear-pant-jogginghose-ni121a09o-c11.html')

那我只看到:

2020-11-19 12:46:06 [scrapy.core.engine] INFO: Spider opened

过了一会儿我超时了。 为什么这不适用于 Zalando 页面?或者:我应该更改什么才能使这项工作正常进行?

在您的请求 headers 中包含一个用户代理,这对我来说效果很好:

from scrapy import Request
url='https://www.zalando.de/nike-sportswear-pant-jogginghose-ni121a09o-c11.html'
req = Request(url, headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'
})
fetch(req)

可能是 anti-bot 措施