为了提取我需要的文本,我能够在条件执行中使用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时,上面的代码。有可能吗?任何想法都表示赞赏!
答案 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"