python requests.get()不会刷新页面



我有一段Python 3代码,它每10秒获取一个网页,并返回一些JSON信息:

s = requests.Session()    
while True:
r = s.get(currenturl)
data = r.json()
datetime = data['Timestamp']['DateTime']
value = data['PV']
print(str(datetime) + ": " + str(value) + "W")
time.sleep(10)

此代码的输出为:

2020-10-13T13:26:53:888W

2020-10-13T13:26:53:888W

2020-10-13T13:26:53:888W

2020-10-13T13:26:53:888W

正如您所看到的,DateTime不会随着每次迭代而改变。当我在浏览器中手动刷新页面时,它每次都会更新。

我已经尝试添加

Cache-Control max-age=0

到我请求的标题,但这并不能解决问题。

即使在循环后明确地将所有内容设置为None,同样的问题仍然存在:

while True:
r = s.get(currenturl, headers={'Cache-Control': 'no-cache'})
data = r.json()
datetime = data['Timestamp']['DateTime']
value = data['PV']
print(str(datetime) + ": " + str(value) + "W")
time.sleep(10)
counter += 1
r = None
data = None
datetime = None
value = None

我怎么能"力";用requests.get((刷新页面?

事实证明,这个特定的网站不会持续刷新,除非请求来自其父url。

r = s.get(currenturl, headers={'Referer' : 'https://originalurl.com/example'})

我必须包含原始的父URL作为refer。现在它按预期工作:

2020-10-13T15:32:27:889W

2020-10-13T15:32:37:889W

2020-10-13T15:32:47:884W

2020-10-13T15:32:57:884W

2020-10-13T15:33:07:894W

最新更新