是否可以“刷新”使用urllib2.urlopen创建的连接?
我正在使用 urllib2.urlopen
从一个网址获取数据:
from urllib2 import urlopen
...
conn = urlopen(url)
data = conn.read()
conn.close()
假设我得到的数据和我预期的不一样。
那么,我应该用什么方法来重新读取这些数据呢?
现在我每次都要重复整个过程(打开、读取、关闭)。
有没有更好的方法呢?比如说,是否可以刷新连接之类的?
3 个回答
0
你在使用完urllib后应该关闭它,这样可以在你早些时候打开时刷新。
试试这个:
首先,导入需要的库,json和urllib:
然后,进入一个无限循环:
设置一个网址,指向你的数据源,比如:'http://project/JsonVanner.php'。
接着,使用urllib打开这个网址,获取响应。
然后,把响应的内容转换成json格式的数据:
接下来,遍历这些数据:
对于每一项数据,打印出它的状态('Etat')。
如果状态是'OFF',就打印'阀门关闭',并计算出一个值(IDVanne乘以10再加0)。
如果状态不是'OFF',就打印'阀门打开',并计算出另一个值(IDVanne乘以10再加1)。
最后,记得关闭响应,这样可以释放资源。
2
不,重复这个过程是获取新数据的唯一方法。
2
当你在一个网址上使用 urlopen
时,Python 会发送一个 HTTP GET 请求,并返回响应;每一对请求和响应本质上都是独立的连接。你需要对每个想要请求的网址重复这个过程,虽然其实你并不真的需要关闭你的 urlopen 响应。