有没有一种方法可以跳过AttributeError:'NoneType'对象没有属性'parent'

时间:2019-12-18 18:12:19

标签: python beautifulsoup

我正在用bs4刮擦不同的URL,在刮擦脚本期间由于AttributeError而停止运行:'NoneType'对象没有属性'parent'。我想知道是否有跳过此错误或返回无的方法。 这是代码:

url = 'URL'
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')

tagline = soup.findAll("h2",{"class": "title__xxxxxlarge"}, text=True)[0].text

Features_benefits = [
    x.text.strip() for x in soup.find('div', {"class": "layout-content__section"}).findAll("h3")
]
category = [
    x.text.strip() for x in soup.find("dt", text="Categories").parent.findAll('a')]

regions = [
    x.text.strip() for x in soup.find("dt", text="Geo-Regions").parent.findAll('a')
]

1 个答案:

答案 0 :(得分:2)

soup.find()的结果保存在变量中,并测试是否首先找到了任何内容。

categories = soup.find("dt", text="Categories")
if categories:
    category = [x.text.strip() for x in categories.parent.findAll('a')]
else:
    category = []