BeautifulSoupを使用して、いくつかのHTMLを解析しています。
(forループを使用して)各HTMLから特定のデータを取得し、そのデータを特定のリストに追加しています。
問題は、一部のHTMLの形式が異なる(そして、必要なデータが含まれていない)ことです。
そこで、例外処理を使用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
を追加します。
エラーが表示されます:
list index out of range.
私がやったことは、次のような行を追加することです:
if not dlist[1]:
newlist.append('null')
continue
しかし、それはうまくいきません。それでもエラーが表示されます:
list index out of range.
これについて私は何をすべきですか?例外処理を使用する必要がありますか?またはもっと簡単な方法はありますか?
助言がありますか?どんな助けでも本当に素晴らしいでしょう!
None
明らかにすっきりしていますが'null'
、この場合はOPが必要です。