民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS Python の lxml.html でパースエラーの拾い方

<<   作成日時 : 2014/06/12 10:14   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

苦戦したのでここにメモ。

Python の lxml.html で HTMLファイルをパースすると、パースし損なっていても例外を投げることなく、正常終了と区別がつかない形で処理が終わってしまうことがある。

調べたところ、
lxml.html.html_parser.error_log
にパース時のエラーがまとめて残されていることが分かった。

for log in lxml.html.html_parser.error_log:
print log

とかやると、出力することができる。

しかし残念なことに、世の中のHTML、ほとんどが何かしらのエラーを吐いてしまうので、エラーが出たからフォールバック処理などとやっていては、ほとんどがフォールバック処理に回ってしまう。
エラーの中身を精査して致命的かどうかを判断する必要がある。

自作のHTMLならともかく、スクレイピングとかやってるときは手の打ちようがない。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
Python の lxml.html でパースエラーの拾い方 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる