我有以下代码:
surface = calendar_containers[0].findAll('td', class_ = 's-color')
for i in surface:
surfaces.append(i.find('span')['title'])
我用来从我想要搜索的网站中检索范围标题。
代码返回一个元素列表,直到它遇到一个没有span标题的元素,然后返回“TypeError:'NoneType'对象不可订阅”。
我想知道是否有可能使脚本在每次运行到'Nonetype'时附加一个像“None”这样的文本并继续追加下一个元素。
答案 0 :(得分:1)
有几种方法可以做到这一点,但您可能最好用以下代码替换surfaces.append(i.find('span')['title'])
:
cont = i.find('span')
title = cont['title'] if cont else 'None'
surfaces.append(title)
答案 1 :(得分:1)
试试这个:
surface = calendar_containers[0].findAll('td', class_ = 's-color')
for i in surface:
try:
surfaces.append(i.find('span')['title'])
except TypeError:
surfaces.append('None')