Python请求的行为就像有cach一样

2024-10-06 15:26:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从我的网站上的一个XML页面中获取一个彩色hexcode,并在5-10秒内更新一个脚本。我可以很好地读取hexcode,也可以很好地更改XML文件中的值,但是脚本需要一段时间来反映更新。在

我希望脚本每5秒更新一次,方法是检查我的web服务器上的XML文件,但是在代码真正看到更新之前,大约需要1分钟的时间。我的python脚本是否以某种方式缓存了XML文件?我的网络服务器可能会发送缓存版本吗?(不过,在chrome中查看XML文件会立即刷新。)

Python代码:

import time
import serial
import requests
from bs4 import BeautifulSoup

ser = serial.Serial('/dev/ttyACM0',9600)
print('Connected to Arduino!')

while (True):
    print('Connecting to website...')

    page = requests.get('http://xanderluciano.com/pi/color.xml', timeout=5)
    soup = BeautifulSoup(page.text, 'html.parser')

    print('scraped hexcode: ' + soup.color.string)

    hex = soup.color.string
    ser.write(hex.encode('utf-8'))
    print(ser.readline())

    time.sleep(5);

XML文件:

^{pr2}$

Tags: 文件代码import服务器脚本timeserialxml
1条回答
网友
1楼 · 发布于 2024-10-06 15:26:45

解决方案是我的web服务器使用NGINX作为服务器端的缓存控制器,我选择在开发阶段禁用这个缓存控制,这样我就可以立即看到结果。很可能有一种更好的方式来推送数据,而不是不断地在web服务器上轮询。在

相关问题 更多 >