python 如何确定下载的页面已完成
How to be Sure that page downloaded is complete by python
我正在下载一个基于 JSON 的大页面,大部分时间都可以成功下载,但有时会部分下载。如何确定下载完成。
我的示例代码如下:
mac_sonuclari_url = "http://mservice.fanatik.com.tr/LeagueStage?TournamentID={}&includeFixture=1"
with urllib.request.urlopen(mac_sonuclari_url.format(1)) as url:
try:
data = json.loads(url.read().decode())
except Exception as err:
logging.error("{}: Error Getting URL: {} with Error: {}".format(fna, mac_sonuclari_url.format(1), err))
不幸的是,我无法通过 Try - Except 捕获部分下载。
然后我的代码中断,因为它没有捕获所有需要的数据。
有什么方法可以理解该页面已完全加载?
非常感谢
[来自评论]
您可以根据返回的 'Content-Length' header 对读取的字符串进行大小检查。如果已检索到所有数据,则两个大小应该一致。
我正在下载一个基于 JSON 的大页面,大部分时间都可以成功下载,但有时会部分下载。如何确定下载完成。
我的示例代码如下:
mac_sonuclari_url = "http://mservice.fanatik.com.tr/LeagueStage?TournamentID={}&includeFixture=1"
with urllib.request.urlopen(mac_sonuclari_url.format(1)) as url:
try:
data = json.loads(url.read().decode())
except Exception as err:
logging.error("{}: Error Getting URL: {} with Error: {}".format(fna, mac_sonuclari_url.format(1), err))
不幸的是,我无法通过 Try - Except 捕获部分下载。 然后我的代码中断,因为它没有捕获所有需要的数据。 有什么方法可以理解该页面已完全加载? 非常感谢
[来自评论]
您可以根据返回的 'Content-Length' header 对读取的字符串进行大小检查。如果已检索到所有数据,则两个大小应该一致。