Web ページをスクレイピングするために、Python で BeautifulSoup を使用しています。問題の html は次のようになります。
<td><a href="blah.html>blahblah</a></td>
<td>line2</td>
<td></td>
td タグの内容を取得したい。したがって、最初の td では「blahblah」テキストが必要で、次の td では「line2」と書き、最後の td ではコンテンツがないため「空白」と書きたいと思います。
私のコードスニペットは次のようになります-
row = []
for each_td in td:
link = each_td.find_all('a')
if link:
row.append(link[0].contents[0])
row.append(link[0]['href'])
elif each_td.contents[0] is None:
row.append('blank')
else:
row.append(each_td.contents[0])
print row
ただし、実行時にエラーが発生します-
elif each_td.contents[0] is None:
IndexError: list index out of range
注-私はbeautifulsoupで作業しています。
「no-content-td」と「weite」を適切にテストするにはどうすればよいですか? 「... is None」が機能しないのはなぜですか?