Pythonでスクレイピング
本記事は以下の書籍の忘備録です。
Kyran Dale, "Data Visualization with Python and JavaScript," O'REILLY, Aug. 2017.
WEBからデータを入手する方法はいくつかある。
・HTTP経由で入手
・専用APIを利用して入手
・HTTP経由でWebページを取得して、ローカルでパースする
まず、requestsライブラリをデータを取得する。
requestsはPythonの標準ライブラリではないため、pipコマンドで入手する。
(Anaconda導入済みの場合はこの作業は不要)
ちなみに、SSL警告が出る場合には、以下のコマンドでライブラリをアップグレード。
pip install --upgrade ndg-httpsclient
まずrequestsライブラリをimportする。
import requests
getメソッドを使ってページを取得し、responseオブジェクトに割当る。今回はWikiからノーベル賞のページを取得する。
response = requests.get("https://en.wikipedia.org/wiki/Nobel_Prize")
HTTPステータスコードを調べる場合は、status_codeを利用する。
response.status_code
入手した情報のプロパティはheadersで表示できる。
response.headers
エンコード情報、サイズなどがここで確認できる。
次に、Web APIを利用したデータの取得を行う。
今回使うAPIは、RESTful APIと呼ばれるAPIである。
リモートデータに対する操作は、CRUD(Create, Retrive, Update, Delete)に集約される。
残念ながら、取得先のURLが存在しないようで、うまく行かなかった。
後ほど修正を試してみる。
ノーベル賞データ可視化のための国データの取得
書籍中だとv1を利用しているが、現在はv2を使うと良い。
コードは写経したものを参考までに掲載しておく。
(つづく)