blog

Google Web Master Tools APIを使ったCSVのダウンロード

    • Ryuichi Nonaka
    この記事は書かれてから1年以上経過しており、内容が古い場合があります。

    CSVのダウンロードを自動化したい

    毎回Web Master Toolsにアクセスして日付設定してCSVを選択してダウンロードなんて非効率ですよね。今回はPython(始めて使うけど)でWeb Master Tools APIを使ったCSVのダウンロードを試して見ました。参考にしたのはDownload search queries data using Pythonの記事です。ただ、このサンプルでは日付指定ができないので、日付指定の方法がわかったらあらためて紹介します。

    必要な環境とライブラリ

    MacであればすでにPythonがインストールされているので、Google Data APIs Python Client Libraryをインストールするだけです。

    Google Data APIs Python Client Libraryのインストール

    こちらからgdata-2.0.17.zipをダウンロードします。ダウンロードしたらTerminalから解凍したディレクトリにアクセスし、setup.pyを実行します。

    sudo python setup.py install
    Password:
    /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
      warnings.warn(msg)
    running install
    running build
    running build_py
    creating build
    ...
    byte-compiling /usr/local/lib/python2.7/site-packages/gdata/youtube/data.py to data.pyc
    byte-compiling /usr/local/lib/python2.7/site-packages/gdata/youtube/service.py to service.pyc
    running install_egg_info
    Writing /usr/local/lib/python2.7/site-packages/gdata-2.0.17-py2.7.egg-info
    

    downloaderを作る

    次に、downloader用のプロジェクトディレクトリを作ります。名前は何でも構いません。

    $ mkdir hogehoge
    $ cd hogehoge
    

    downloader.pyを作る

    サンプルwebmaster-tools-downloads/downloader.pyの通りにdownloader.pyを作ります。ソースはそのままコピペでOK。

    $ vi downloader.py
    

    example-simple-download.pyを作る

    次にダウンロードを実行するためのPythonファイルwebmaster-tools-downloads/example-simple-download.pyを作ります。このファイルにはGoogleアカウントの情報と対象のサイトURLを入力します。

    $ vi example-simple-download.py
    
    # Email address and password used to sign-in to Webmaster Tools
    email = 'user@example.com'
    password = '********'
    # Specify the website and the type of data to download
    website = 'http://www.example.com/'
    selected_downloads = ['TOP_QUERIES']
    

    email, password, websiteの内容を自身のアカウントと管理しているWebサイトのURLに書き換えます。

    コマンドをたたいてCSVファイルをダウンロードしてみる

    コマンドをたたいてCSVがダウンロードされるか試して見ます。特に問題がなければそのまま終了します。 同じ階層にダウンロードされたCSVファイルが保存されているはずです。

    $ python example-simple-download.py
    

    保存されたファイル

    ファイル名が長いですが、前日から過去1ヶ月分保存のデータが保存されます。

    whiskers-nukos-kitchen_20150106T051650Z_TopSearchQueries_20141206-20150105.csv
    

    日付指定できるようになればCSVデータの保存を自動化できそうです。昨日紹介したUnixのcatコマンドでCSVファイルを結合するも合わせて行えばかなり手間を省けそうです。日付指定の方法がわかったらまた紹介したいと思います。

    参考サイト

    コメント・フィードバック