爬虫----异常处理

爬虫的异常处理:

  • 网页在服务器上不存在(或者获取页面的时候出现错误)

  • 服务器不存在 

  

  第一种异常发生时,程序会返回 HTTP 错误。HTTP 错误可能是“404 Page Not Found”“500 Internal Server Error”等。所有类似情形,urlopen函数都会抛出“HTTPError”异常。我们 可以用下面的方式处理这种异常:

  try:
    html = urlopen("url")

  except HTTPError as e:

    print(e)

    # 返回空值,中断程序,或者执行另一个方案

  else:

    # 程序继续。注意:如果你已经在上面异常捕捉那一段代码里返回或中断(break),

    # 那么就不需要使用else语句了,这段代码也不会执行 

  如果程序返回 HTTP 错误代码,程序就会显示错误内容,不再执行 else 语句后面的代码。

  如果服务器不存在(就是说链接 http://www.pythonscraping.com/ 打不开,或者是 URL 链接 写错了),urlopen 会返回一个 None 对象。这个对象与其他编程语言中的 null 类似。我们 可以增加一个判断语句检测返回的 html 是不是 None:

  if html is None:
    print("URL is not found")

  else:
    # 程序继续 

爬虫的超时处理:

原文地址:https://www.cnblogs.com/george92/p/7356211.html