オープンデータとプログラミング

Tag Archive for スクレイピング

Pythonの本文抽出ライブラリreadabilityのインストール(備忘録)

python

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">&#13;
&#13;
&#13;
<h2>サービス概要</h2>&#13;
&#13;
&#13;
&#13;
<h3 id="anchor01">当館のサービス</h3>&#13;
<div class="dataSet">&#13;
&#13;
&#13;
&#13;
<p>国立国会図書館は、東京本館、関西館、国際子ども図書館の三つの施設で、資料の閲覧や複写などの来館利
用サービスを行っています。また、インターネット経由の資料の複写申込など、来館しないで利用できるサービ
スも行っています。</p>&#13;


<<以下省略>>

うまくいきました!

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

Pythonの本文抽出ライブラリboilerpipeのインストール(備忘録)

python

HTMLから本文抽出(スクレイピング)をするpythonライブラリの一つにboilerpipeがあります。
boilerpipeはpipでインストールすることができます。

pip install boilerpipe

もし、下記のエラーメッセージが出てしまったら、Microsoft Visual C++ 9.0をインストールしてください。

error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27

Microsoft Visual C++ 9.0は、次のURLからダウンロードすることができます。

インストールは無事終わったかにみえましたが、boilerpipeをインストールするとpythonじたいがクラッシュ。

原因不明なので、継続調査です。

ちなみに、Pythonのバージョンは 2.7.2です。

こちらのサイトを見ると、Windows環境はビックリマークが付いています。
https://code.activestate.com/pypm/boilerpipe/

boilerpipeがだめなら、他のライブラリを試すとするか…。ありましたありました、比較サイトが!
Dragnet、Eatiht、Readabilityは初めて知りました。

Benchmarking Python Content Extraction Algorithms: Dragnet, Readability, Goose, and Eatiht
https://moz.com/devblog/benchmarking-python-content-extraction-algorithms-dragnet-readability-goose-and-eatiht/