我正在通过网址列表运行循环,并且一些网址返回以下错误,这会导致我的循环中断,我想避免中断,只需转到我的列表中的下一个网址:
Traceback (most recent call last):
File "C:\Users\alexa\Desktop\csv loop 2.py", line 28, in <module>
price_clean = list(price_find.children)[0]
AttributeError: 'NoneType' object has no attribute 'children'
我的想法是引入if
else
语句来测试url中字符的存在,但这不起作用并仍然返回相同的错误:
if soup.find("$") != -1:
price_find = soup.find(class_="price")
price_clean = list(price_find.children)[0]
else:
continue
关于如何解决这个问题的更好的想法?
答案 0 :(得分:3)
您可以检查None
或捕获例外
检查无
if soup.find("$") != -1:
price_find = soup.find(class_="price")
if price_find is not None:
price_clean = list(price_find.children)[0]
else:
continue
捕获异常
if soup.find("$") != -1:
price_find = soup.find(class_="price")
try:
price_clean = list(price_find.children)[0]
except AttributeError:
pass
else:
continue
你将能够继续循环