LoginSignup
4
6

More than 5 years have passed since last update.

PythonでWikipediaの表を2行でスクレイピング

Posted at

HTMLの表をスクレイピングして行列データにする処理

今回は行列計算ライブラリはPandasを利用します。
そうすると、なんとread_html()関数が用意されています。

これを使うと、2行でスクレイピングができます。

import pandas as pd
pd.read_html( <URL> )

ただ一つ難点があり、ヘッダがデフォルトでは読まれず、単なる行として例えば1番目の行に読み込まれてしまいます。
なので、単なる行ではなくヘッダですと指定する必要があり、下記のようにします。

dfs = pd.read_html(<URL>, header=<行番号>)

たとえば、Wikipediaの日本の都市の表をスクレイピングするには、こうします。

WIKI_URLWIKI_UR  = "https://en.wikipedia.org/wiki/List_of_cities_in_Japan"
dfs = pd.read_html(WIKI_URL, header=0) # set header with row #0

サンプル

この関数は内部で有名なスクレイピングツールbeautifulsoup4を利用しています。
生でbeautifulsoup4を使う方法はこちら。

Pandas行列を整形して利用しよう

行や列を追加する方法は以下。dataframe['列名']=値を使う。
http://sinhrks.hatenablog.com/entry/2014/11/12/233216

行や列を削除する方法は以下。drop関数を使う。
https://note.nkmk.me/python-pandas-drop/

ソースコード

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6