像它一样的Python请求有一个缓存

时间:2016-01-09 08:06:56

标签: python

我正在尝试从我网站上的XML页面获取颜色十六进制代码,并在5-10秒内更新脚本。我能够很好地读取十六进制代码,并且我能够很好地更改XML文件中的值,但脚本需要一段时间来反映更新。

我希望脚本通过检查来自我的网络服务器的XML文件每5秒更新一次,但是在代码实际看到更新之前需要大约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文件:

<?xml version="1.0" encoding="UTF-8"?>
<ledstrip>
    <color>2196f3</color>
    <flash>false</flash>
    <freq>15</freq>
</ledstrip>

1 个答案:

答案 0 :(得分:0)

解决方案是我的网络服务器使用NGINX作为服务器端缓存控制器,我选择在开发阶段禁用此缓存控制,以便我可以立即看到结果。最有可能的是推送数据的更好方法,而不是不断地为网络服务器轮询数据。

相关问题