前書き
Python と Qiita API v2 を使用して、Qiita に投稿した自分の記事の VIEW数 、いいねの数 、ストックされた数 を CSV に出力する方法を紹介します。
実行した環境
- Windows7 Pro(64bit)
- Python3.6(Anaconda3)
作成したプログラム
Python のプロラム
Python
からQiita API v2
を使用して、タイトル、 VIEW数 、いいねの数 、ストック数を取得し、標準出力にCSV形式で一覧表示させるプログラムです。
下記プログラムソースのxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
の部分には、自分のアクセストークンで置き換えてください。
アクセストークンは Qiitaページの「設定」-「アプリケーション」-「個人用アクセストークン」から取得可能です。
getview.py
# -*- coding: utf-8 -*-
"""
Created on Wed Dec 11 23:44:00 2019
@author: yasushi-jp
"""
import requests
import json
url = 'https://qiita.com/api/v2/authenticated_user/items'
params = { "page" : "1", "per_page" : "100"}
headers = {"content-type" : "application/json", "Authorization" : "Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}
res = requests.get(url, headers=headers, params=params)
list = res.json()
total_views_cnt = 0
total_likes_cnt = 0
total_stocks_cnt = 0
print("タイトル, ビューカウント, いいねカウント, ストックカウント")
for item in list:
item_id = item['id']
title = item['title']
likes_cnt = item['likes_count']
total_likes_cnt += likes_cnt
url = 'https://qiita.com/api/v2/items/' + item_id
res = requests.get(url, headers=headers)
json = res.json()
views_cnt = json['page_views_count']
total_views_cnt += views_cnt
url = 'https://qiita.com/api/v2/items/' + item_id + '/stockers'
res = requests.get(url, headers=headers)
users = res.json()
stocks_cnt = len(users)
total_stocks_cnt += stocks_cnt
print(title + ", " + str(views_cnt) + ", " + str(likes_cnt) + ", " + str(stocks_cnt))
print("合計, " + str(total_views_cnt) + ", " + str(total_likes_cnt) + ", " + str(total_stocks_cnt))
起動用のbat
インストールされているPythonにパスを通し、先程作成したgetview.py
を呼び出し、結果をファイルにリダイレクトしています。
「C:\DK\Anaconda3\envs\tf_env」の部分は、Pythonをインストールしたディレクトリに置き換えてください。
getview.bat
@echo off
set PATH=%PATH%;C:\DK\Anaconda3\envs\tf_env
python getview.py > viewcount.csv
pause
実行
上記で作成したgetview.bat
を実行(ダブルクリック)すると、viewcount.csv
が作成されます。