我正在用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')
]
答案 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 = []