gpt4 book ai didi

caching - 如何禁用scrapy中的缓存?

转载 作者:行者123 更新时间:2023-12-04 13:31:36 25 4
gpt4 key购买 nike

我正在尝试在特定网站上爬网一个网页。该网页对于通过scrapy.Request()发送的不同Cookie集合有所不同。

如果我一一请求到网页,它会给我正确的结果,但是当我在for循环中发送这些cookie时,它会给我相同的结果。我认为scrapy正在为我创建缓存,在第二个请求中,它从该缓存中获取了响应,这是我的代码:

def start_requests(self):
meta = {'REDIRECT_ENABLED':True}
productUrl = "http://xyz"
cookies = [{'name': '', 'value': '=='},{'name': '', 'value': '=='}]
for cook in cookies:

header = {"User-Agent":"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36"}
productResponse = scrapy.Request(productUrl,callback=self.parseResponse,method='GET',meta=meta,body=str(),cookies=[cook],encoding='utf-8',priority=0,dont_filter=True)
yield productResponse


def parseResponse(self,response):
selector = Selector(response)
print selector.xpath("xpaths here").extract()
yield None

我希望print语句对于这两个请求应该给出不同的结果。

如果不清楚,请在评论中提及。

最佳答案

缓存可以通过两种方式禁用

  • 在setting.py文件中更改与缓存相关的设置中的值。通过保持HTTPCACHE_ENABLED = False
  • 或可以在运行时完成“scrapy crawl crawl-name --set HTTPCACHE_ENABLED = False
  • 关于caching - 如何禁用scrapy中的缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32615250/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com