スクレイピングについて

Excelは便利だけれど、たぶん、スクレイピングができないのよね〜
Mac版はスクレイピングができない。

もし、ウェッブ上の情報を読み込むのなら、いったん、そのウェブページをローカルに保存し、そのうえで、「データ」 > 「HTML」により読み込むことになる。

Pythonには、スクレイピングのライブラリがたくさん用意されているようだ。

「Pthonには、巷にあるれるHTML/XML形式のデータの読み書き用のライブラリがたくさんあります。代表的なものとしては、lxml、Beautiful Soup、html5libがあげられます。これらの中では通常、lxmlがはるかに高速ですが、規格に従っていないXMLファイルを取り扱うには、lxml、Beautiful Soup、html5libの方が便利です」(「pythonによるデータ分析入門」/Wes Mckinney)

Pythonのライブラリ・Pandasには、read_htmlというモジュール(あるいはパッケージかも知れない)が用意されている。

同書によると、read_htmlを利用するには、Beautiful Soup、html5libといった外部ライブラリーをインストールしておくことが条件となる。

◎その際には、パッケージのインストール管理するためのcondaあるいは、pipを利用する。

conda install lxml Beautiful Souphtml5lib

あるいは、

pip install lxml Beautiful Souphtml5lib

◎インストールの確認

pip freeze | grep -e request -e lxml -e beautiful

beautifulsoup4==4.8.2
lxml==4.5.0
requests==2.22.0
Note: you may need to restart the kernel to use updated packages.

◎実例
import pandas as pd

url = ‘https://xn--vckya7nx51ik9ay55a3l3a.com/analyses/number_of_companies’

pd.read_html(url)[0]

◎文字化けする場合 => 当該ウェブページのエンコーディングをチェックし、第2引数で、そのエンコーディングを指定する。

import pandas as pd

url = ‘https://xn--vckya7nx51ik9ay55a3l3a.com/analyses/number_of_companies’

df = pd.read_html(url, encoding=’utf-8′)[0]