import urllib.request def download(url, num_retries=2): print('Downloading:', url) try: html = urllib.request.urlopen(url).read() except urllib.URLError as e: print('Download error:' % e.reason) html = None if num_retries > 0: if hasattr(e, 'code') and 500 <= e.code < 600: # recursively retry 5xx HTTP errors return download(url, num_retries-1) return html url = 'http://www.google.com' print(download(url, 3))
本文介绍了一个使用Python编写的简单网页下载器。该下载器利用urllib.request模块从指定URL获取网页内容,并具备错误处理机制,能自动重试5xx HTTP错误。通过递归调用自身实现重试逻辑,确保在网络不稳定的情况下仍能成功下载。
1021

被折叠的 条评论
为什么被折叠?



