2

我是 python 新手,还没有发现任何表明这可能很容易的东西。

我要报废的页面相当简单,但它每 2 分钟完全更新一次。我设法废弃了所有数据,但问题是即使程序每 2 分钟运行一次(我已经尝试通过 taskeng.exe 并在脚本中循环),它从网站中提取的 html 似乎每 12 分钟刷新一次分钟。为了清楚起见,我要报废的网站在更新时有一个时间戳。我的程序提取该标记(连同其他数据)并写入 csv 文件。但是它提取相同的数据 12 分钟,然后突然数据到达。所以输出看起来像:

16:30, Data1, Data2, Data3
16:30, Data1, Data2, Data3
...
16:30, Data1, Data2, Data3
16:42, Data1, Data2, Data3
16:42, Data1, Data2, Data3

应该在哪里:

16:30, Data1, Data2, Data3
16:32, Data1, Data2, Data3
16:34, Data1, Data2, Data3
16:36, Data1, Data2, Data3
16:38, Data1, Data2, Data3
16:40, Data1, Data2, Data3
16:42, Data1, Data2, Data3

我认为这与我这边的缓存有关。如何强制我的 http 请求完全刷新或强制 python 不将其存储在缓存中?

我正在使用 BeautifulSoup 和 Mechanize。我的http请求代码如下:

mech = Browser()

url = "http://myurl.com"

page = mech.open(url)

html = page.read()
soup = BeautifulSoup(html)

如果它有助于发布我的所有代码,我可以这样做。提前感谢您的任何建议

4

1 回答 1

1

您可以使用更简单的工具,例如requests.

import requests
response = requests.get(url)
html = response.text

但是如果你真的想坚持使用 mechanize 你也可以跳过 Browser() 的东西(这可能会在你的请求中引入 cookie)。查看机械化文档以获取更多详细信息。

response = mechanize.urlopen("http://foo.bar.com/")
html = response.read() # or readlines 
于 2012-07-17T16:52:27.600 回答