我正在使用 BeautifulSoup 并解析一些HTML。
我从每个HTML (使用for循环)中 获取特定数据,并将该数据添加到特定列表中。
问题是,某些HTML具有不同的格式 (并且它们中没有我想要的数据) 。
因此,我试图使用异常处理并将值添加null到列表中 (我应该这样做,因为数据顺序很重要。)
null
例如,我有一个类似的代码:
soup = BeautifulSoup(links) dlist = soup.findAll('dd', 'title') # I'm trying to find content between <dd class='title'> and </dd> gotdata = dlist[1] # and what i want is the 2nd content of those newlist.append(gotdata) # and I add that to a newlist
并且某些链接没有任何链接<dd class='title'>,因此我想要做的是将字符串添加null到列表中。
<dd class='title'>
错误出现:
list index out of range.
我尝试做的是添加一些像这样的行:
if not dlist[1]: newlist.append('null') continue
但这行不通。它仍然显示错误:
我该怎么办?我应该使用异常处理吗?还是有更简单的方法?
有什么建议?任何帮助都将非常棒!
处理异常的方法是:
try: gotdata = dlist[1] except IndexError: gotdata = 'null'
当然,你也可以检查len()的dlist; 但是处理异常更为直观。
len()
dlist