在使用find()函数时,需要加入判断语句,判断返回值是否为None。如果返回值为None,需要找到原因进行排查,可能原因包括HTML代码被重写、寻找的标签或属性不存在等等。以下是示例代码:
from bs4 import BeautifulSoup
html = '
Hello World!
soup = BeautifulSoup(html, 'html.parser')
title_tag = soup.find('title') if title_tag is not None: print(title_tag.string) else: print('找不到title标签')
title_tag = soup.find('title').string print(title_tag) # 如果找不到title标签,会报错:'NoneType' object has no attribute 'string'