是否可以“刷新”使用urllib2.urlopen创建的连接?

0 投票
3 回答
2166 浏览
提问于 2025-04-18 17:19

我正在使用 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 响应

撰写回答