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