Używam BeautifulSoup i parsuję niektóre HTML.
Otrzymuję określone dane z każdego kodu HTML (używając pętli for) i dodaję te dane do określonej listy.
Problem polega na tym, że niektóre HTML mają inny format (i nie mają w nich danych, których potrzebuję) .
Więc próbowałem użyć obsługi wyjątków i dodać wartość null
do listy (powinienem to zrobić, ponieważ kolejność danych jest ważna).
Na przykład mam kod taki jak:
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
a niektóre linki nie mają żadnych <dd class='title'>
, więc null
zamiast tego chcę dodać ciąg do listy.
Pojawia się błąd:
list index out of range.
Próbowałem dodać kilka linii w ten sposób:
if not dlist[1]:
newlist.append('null')
continue
Ale to nie działa. Nadal pokazuje błąd:
list index out of range.
Co mam z tym zrobić? Czy powinienem używać obsługi wyjątków? czy jest jakiś łatwiejszy sposób?
Jakieś sugestie? Każda pomoc byłaby naprawdę świetna!
None
jest wyraźnie czystszy, OP chce'null'
w tym przypadku.