在我的Python代码中,我正在从Openstreetmap(OSM)下载磁贴。出于性能和流量原因,它们存储在临时存储中。但是在重用这些数据之前,我想检查这些数据是否仍然是最新的。
这是简单下载的方式:
import urllib2
# Normal import without Version control:
url = r"http://a.tile.openstreetmap.org/1/1/1.png"
imgstr = urllib2.urlopen(url).read()
我正在搜索一些类似于此的内容(伪代码)
imgstr = ... # Value from database
local_version = ... # Value from database
online_version = getolineversionnumber(url)
if not(online_version==local_verion):
imgstr = urllib2.urlopen(url).read()
version = online_version
是否有像getolineversionnumber
这样的功能?
**问题通过scai回答。不需要更多答案。 **
答案 0 :(得分:0)
向其他读者发布自己问题的答案是一种很好的做法。这是我学到的。
我正在搜索的属性称为etag(https://en.wikipedia.org/wiki/HTTP_ETag)。 并访问如下:
import urllib2
url = r"http://a.tile.openstreetmap.org/1/1/1.png"
request = urllib2.Request(url)
opener = urllib2.build_opener()
firstdatastream = opener.open(request)
online_version=firstdatastream.headers.dict['etag']