HTMLから本文を抽出するpythonのライブラリの一つにreadabilityがあります。
readabilityはpipでインストールすることができます。
コマンドラインから実行することができます。日本語のページから抽出可能か、国立国会図書館のページで試してみます。
1 | python -m readability.readability -u http: //www .ndl.go.jp /jp/service/index .html |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Title:サービス概要|国立国会図書館―National Diet Library <html><body><div><div class="mainbody"> <h2>サービス概要</h2> <h3 id="anchor01">当館のサービス</h3> <div class="dataSet"> <p>国立国会図書館は、東京本館、関西館、国際子ども図書館の三つの施設で、資料の閲覧や複写などの来館利 用サービスを行っています。また、インターネット経由の資料の複写申込など、来館しないで利用できるサービ スも行っています。</p> <<以下省略>> |
うまくいきました!
pythonのコードならこんな感じになります。
とてもシンプルですね。
1 2 3 4 5 6 7 8 9 10 11 12 | #coding: UTF-8 from readability.readability import Document import urllib html = urllib.urlopen(url).read() readable_article = Document(html).summary() readable_title = Document(html).short_title() print readable_article print readable_title |