Python 浏览器实例是否从mechanize缓存中删除?

Python 浏览器实例是否从mechanize缓存中删除?,python,caching,mechanize,Python,Caching,Mechanize,我正在用mechanize浏览器做一些WebScrap,并使用以下代码。我意识到在某些情况下,虽然远程页面已经更改,但我们仍然会得到相同的页面。所以我的问题是: 默认情况下,mechanize broswer实例缓存页(在某些配置中)是否执行 如果是这样,我们如何更改它,或者有没有避免缓存的方法(除了每次在循环中创建浏览器实例之外) 谢谢根据 Mechanize实例不会缓存您访问过的页面,但您可以清除这些页面 与agent.history.clear;或者阻止历史被 正在设置agent.his

我正在用mechanize浏览器做一些WebScrap,并使用以下代码。我意识到在某些情况下,虽然远程页面已经更改,但我们仍然会得到相同的页面。所以我的问题是:

  • 默认情况下,mechanize broswer实例缓存页(在某些配置中)是否执行
  • 如果是这样,我们如何更改它,或者有没有避免缓存的方法(除了每次在循环中创建浏览器实例之外)

  • 谢谢

    根据

    Mechanize实例不会缓存您访问过的页面,但您可以清除这些页面 与agent.history.clear;或者阻止历史被 正在设置agent.history.max_size=0。或者,您可以使用新的Mechanize 举个例子

    特别是,

    当前,如果出现以下情况,Mechanize将重用会话历史记录中的页面: 带有If-Modified的请求,因为标头导致304未修改

    根据Python中的文档,以下代码将阻止类似缓存的行为(可查看的响应):

    希望能提供一些见解。

    根据

    Mechanize实例不会缓存您访问过的页面,但您可以清除这些页面 与agent.history.clear;或者阻止历史被 正在设置agent.history.max_size=0。或者,您可以使用新的Mechanize 举个例子

    特别是,

    当前,如果出现以下情况,Mechanize将重用会话历史记录中的页面: 带有If-Modified的请求,因为标头导致304未修改

    根据Python中的文档,以下代码将阻止类似缓存的行为(可查看的响应):


    希望这能提供一些见解。

    是ruby的mechanize还是python的mechanize?您发布的链接是针对ruby的?@JohnZ在所有语言中,类似缓存的行为似乎都是相同的-我用特定的Python代码更新了我的答案。如果您创建一个新实例
    mechanize.Browser()
    ,这不是会有一个新的空缓存吗?是针对ruby还是Python的mechanize?您发布的链接是针对ruby?@JohnZ的,在所有语言中,类似缓存的行为似乎都是相同的-我用特定的Python代码更新了我的答案。如果您创建一个新实例
    mechanize.Browser()
    ,那不是会有一个新的空缓存吗?
    # put int login detail and submit, return a mechanize.Browser instance 
    browser = _login() 
    # main loop
    while True:
        rsp = browser.open(URL)
        html = rsp.read()
    
    import mechanize
    ua = mechanize.UserAgent()
    ua.set_seekable_responses(False)
    ua.set_handle_equiv(False)
    ua.set_debug_responses(False)