0
我设置标题下面的方式Scrapy大写请求头
headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'cache-control': 'no-cache',
...
}
,并呼吁要求这样的:
yield scrapy.Request(url='https:/myurl.com/', callback=self.parse,
headers=headers, cookies=cookies, meta={'proxy': 'http://localhost:8888'})
这让该scrapy大写所有这些标题,它看起来像(我正在使用Charles代理进行调试):
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Cache-Control: no-cache
而这对我的情况并不正确。
如果我使用卷曲和设置头小写
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
cache-control: no-cache
一切就像一个魅力。
有什么办法可以禁用Scrapy中的这种大写行为? 感谢您的帮助!
你确定是问题所在? HTTP标头应该不区分大小写。 – Chris
你可以用'curl'和大写的标题来检查上面的问题,并检查它是否给出相同的输出。如果是这样,你的问题不是你认为的问题。 – holdenweb
是的,我很确定。我想我想解析的网站正在处理它一些特殊的方式。 – kspi33