我正在使用Python 2.7中的脚本下载网页。大多数时候,一切都会按计划进行。鉴于此脚本有成千上万的网页可供下载,因此不可避免地会有几次无法解决问题。在URLErrorHTTPError的情况下,脚本会放弃并继续运行,但是有时所有内容都挂起,并且需要手动按Ctrl-ZCtrl-C才能停止。有问题的代码:

    f = urlopen (url)
    local_file = open (file_name, 'w') # Open local file
    local_file.write (f.read())
    local_file.close ()


我已经尝试过signal.alarm,但是它并不总是有效。我在urlopen中尝试了timeout参数,但这不起作用。

是否有可靠的方法来确保脚本在特定的秒数后自动放弃并继续运行?我应该使用urlopen以外的其他东西吗?

最佳答案

确保您使用的是urllib2

from urllib2 import urlopen
try:
    f = urlopen (url, timeout=10)
except urllib2.URLError:
    # try again later

关于python - 如何在Python中获取urlopen命令以放弃并继续前进?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13598165/

10-12 23:03