2010年12月03日

BeautifulSoup/python(2)〜エラー判断(1)

ここ二週間くらいBeautifulSoupでしこしこHTMLを加工している。
BeautifulSoupはブラウザのHTML解釈に比べてHTMLの文法エラーには厳しい。

...というかエラーとなったHTMLの中身を見て
よくブラウザは表示してんのな!
ということも多いのでBeautifulSoup自体は悪くない。

でだ、大抵の場合はfindAllとかでループをまわしてるHTML文法にひっかかり途中で落ちるんだけど、こともあろうに宣言部分(soup = BeautifulSoup('HTML文字列')とかね)でエラー落ちしやがった。何のメッセージも吐かずに。

−−−−−

1000行以上のHTMLを意地になって探した結果、引っかかってたのは以下!


<td class="<% if (i == 0) { %>sun<% } else if (i == 6) { %>sat<% } else { %>weekday<% } %>"><span class="xxxxxxxxxx"><%= wdays[i] %><span></td>



よくブログ内部にありがちなtrタグ内でパーツの表示判断をさせている部分。

これを<td>タグ内にタグ(<>)表現があるとして落ちていたみたい。
HTML読み込み後に避けるロジック組んで回避!


以上!
posted by wani at 19:01 | Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック