Python Mechanize back()-刷新页面速度慢?有没有使用缓存的方法?

Python Mechanize back()-刷新页面速度慢?有没有使用缓存的方法?,python,mechanize,Python,Mechanize,各位程序员好。我正在尝试自动化一个用于购买的网站。购买页面加载非常慢。加载后,将使用ajax调用对其进行查询。我要做的是加载页面,获取数据,确定是否有任何项目符合我的标准,如果符合,请返回主页,选择我想要购买的项目,然后购买它们 我的问题是back()方法很慢。它怀疑它正在重新加载页面 有没有办法让它从缓存访问页面?或者,一种不离开主页就调用ajax的方法 import mechanize import datetime br = mechanize.Browser() br.set_hand

各位程序员好。我正在尝试自动化一个用于购买的网站。购买页面加载非常慢。加载后,将使用ajax调用对其进行查询。我要做的是加载页面,获取数据,确定是否有任何项目符合我的标准,如果符合,请返回主页,选择我想要购买的项目,然后购买它们

我的问题是
back()
方法很慢。它怀疑它正在重新加载页面

有没有办法让它从缓存访问页面?或者,一种不离开主页就调用ajax的方法

import mechanize
import datetime

br = mechanize.Browser()
br.set_handle_robots(False)

print(str(datetime.datetime.now()) + " logging in")
br.open("https://www.somesite.com/login.action")
br.select_form(nr=0)
br['login_email'] = "userId"
br['login_password'] = "password"
rs = br.submit()

print(str(datetime.datetime.now()) + " opening slow page")
rs = br.open("https://www.somesite.com/veryslow.action")

print(str(datetime.datetime.now()) + " getting data")
json = br.open("https://www.somesite.com/getDataAj.action")

print(str(datetime.datetime.now()) + " clicking back")
br.back()
print(str(datetime.datetime.now()) + " returned to slow loading page")

#more to do on page... fill out form, submit()

br.open("https://www.somesite.com/logout.action")
print(str(datetime.datetime.now()) + " logged out")
结果,请注意
back()
花费了多长时间:

2013-05-17 13:14:55.650000 logging in
2013-05-17 13:14:58.678000 opening slow page
2013-05-17 13:15:17.158000 getting data
2013-05-17 13:15:18.207000 clicking back
2013-05-17 13:15:29.592000 returned to slow loading page
2013-05-17 13:15:30.120000 logged out

如果您只是删除了行
br.back()
,代码可能仍然有效。它只会影响最后一个
br.open(…)
中的引用URL,这可能无关紧要。发布的代码只是我在back()中看到的一个简单的缓慢行为示例。在我正在编写的脚本中,单击back()返回主页面后,我填写表单并提交()。物品销售非常快(在几秒钟内),因此等待近10秒才能退货()是不可行的。为了简单起见,我在示例代码中没有提到这一点。在这种情况下,我对
mechanize
了解不够,无法对此提出建议。我可能会手动发布表单,并伪造任何必需的cookie和其他HTTP头,以最大限度地提高速度。@stilltrackin您对此有何解决方案?我在常规的
br.open(url)
命令上也遇到了同样类型的缓慢问题,我想找出一种方法使其更快。。。