szczytの忘備録

忘れそうなこと、調べたことを記録しています。いつの間にか生存報告にもなりました。

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を使うと良い。

コードは写経したものを参考までに掲載しておく。

REST countriesへの呼び出し関数

 

(つづく)