Python - 四处游览Beautifulsoup"对象没有属性"空页中的错误

时间:2015-10-29 05:38:32

标签: python web-scraping beautifulsoup

为了提取我需要的文本,我能够在条件执行中使用Beautifulsoup的 find_next_sibling 来抓取大多数网页。

if len(str(h4.find_next_sibling)) < 90:
    ...
else:
    ...

但是,对于一个特定页面,网页为空,因此Python报告错误:

  

AttributeError:&#39; NoneType&#39;对象没有属性&#39; find_next_sibling&#39;

由于空页面似乎是由我打算抓取的页面列表中的错误产生的,我需要Python继续抓取而不停止在每个类似的实例,一种可能性是写一个if条件只运行当页面中实际存在find_next_sibling时,上面的代码。有可能吗?任何想法都表示赞赏!

1 个答案:

答案 0 :(得分:2)

非常感谢评论者,使用尝试成功解决了这个问题:

try: 
    if len(str(h4.find_next_sibling)) < 90:
        coverage = h4.find_next_sibling(text=True)
    else:
        if len(str(h4.find_next_sibling)[1]) < 90:
            coverage = h4.find_next_siblings(text=True)[2]
        else:
            coverage = h4.find_next_siblings(text=True)[1]
except:
    coverage = "Empty page"