Python爬虫包BeautifulSoup异常处理(二)

 更新时间:2018年06月17日 09:41:06   转载 作者:SuPhoebe  
这篇文章主要为大家详细介绍了Python爬虫包BeautifulSoup的异常处理,具有一定的参考价值,感兴趣的朋友可以参考一下

面对网络不稳定,页面更新等问题,很可能出现程序异常的问题,所以我们要对程序进行一些异常处理。大家可能觉得处理异常是一个比较麻烦的活,但在面对复杂网页和任务的时候,无疑成为一个很好的代码习惯。

网页‘404'、‘500'等问题

try:
    html = urlopen('http://www.pmcaff.com/2221')
  except HTTPError as e:
    print(e)

返回的是空网页

if html is None:
    print('没有找到网页')

目标标签在网页中缺失

try:
    #不存在的标签
    content = bsObj.nonExistingTag.anotherTag 
  except AttributeError as e:
    print('没有找到你想要的标签')
  else:
    if content == None:
      print('没有找到你想要的标签')
    else:
      print(content)

实例

if sys.version_info[0] == 2:
  from urllib2 import urlopen # Python 2
  from urllib2 import HTTPError
else:
  from urllib.request import urlopen # Python3
  from urllib.error import HTTPError
from bs4 import BeautifulSoup
import sys


def getTitle(url):
  try:
    html = urlopen(url)
  except HTTPError as e:
    print(e)
    return None
  try:
    bsObj = BeautifulSoup(html.read())
    title = bsObj.body.h1
  except AttributeError as e:
    return None
  return title

title = getTitle("http://www.pythonscraping.com/exercises/exercise1.html")
if title == None:
  print("Title could not be found")
else:
  print(title)

以上全部为本篇文章的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • TensorFlow 合并/连接数组的方法

    TensorFlow 合并/连接数组的方法

    今天小编就为大家分享一篇TensorFlow 合并/连接数组的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python自动翻译实现方法

    python自动翻译实现方法

    这篇文章主要介绍了python自动翻译实现方法,涉及Python调用百度接口及数据库操作的相关技巧,需要的朋友可以参考下
    2016-05-05
  • python打包压缩、读取指定目录下的指定类型文件

    python打包压缩、读取指定目录下的指定类型文件

    这篇文章主要介绍了python打包压缩、读取指定目录下的指定类型文件,需要的朋友可以参考下
    2018-04-04
  • django使用图片延时加载引起后台404错误

    django使用图片延时加载引起后台404错误

    本文给大家介绍的是作者在Django中使用图片的延时加载技术后引起后台404错误的问题以及解决思路和方法,有需要的小伙伴可以参考下
    2017-04-04
  • Python使用urllib2获取网络资源实例讲解

    Python使用urllib2获取网络资源实例讲解

    urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件。他以urlopen函数的形式提供了一个非常简单的接口,下面我们用实例讲解他的使用方法
    2013-12-12
  • 在Pytorch中计算自己模型的FLOPs方式

    在Pytorch中计算自己模型的FLOPs方式

    今天小编就为大家分享一篇在Pytorch中计算自己模型的FLOPs方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python Gluon参数和模块命名操作教程

    Python Gluon参数和模块命名操作教程

    这篇文章主要介绍了Python Gluon参数和模块命名操作,结合实例形式详细分析了Python Gluon模块功能及基本使用技巧,需要的朋友可以参考下
    2019-12-12
  • Python调用接口合并Excel表代码实例

    Python调用接口合并Excel表代码实例

    这篇文章主要介绍了Python调用接口合并Excel表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • python中类变量与成员变量的使用注意点总结

    python中类变量与成员变量的使用注意点总结

    python 的类中主要会使用的两种变量:类变量与成员变量。类变量是类所有实例化对象共有的,而成员变量是每个实例化对象自身特有的。下面这篇文章主要给大家介绍了在python中类变量与成员变量的一些使用注意点,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-04-04
  • windows下Virtualenvwrapper安装教程

    windows下Virtualenvwrapper安装教程

    这篇文章主要为大家详细介绍了windows下Virtualenvwrapper安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12

最新评论