データを集める|公開されている API や CSV から、毎週の数字を取る

コース6 API編 6 / 13・読む時間 約9分・最終確認日

いまは無料で公開中です

このレッスンの要点

  • データは、公開されている API か CSV から取ります。使ってよい条件(利用規約)を先に読みます
  • 取ったデータは、その週の月曜の日付の名前でそのまま残し、順位や前週との差はプログラムで計算します
  • 取れなかったとき・形がおかしいときは、先に進まずに止めて知らせます

どこからデータを取るか

毎週の数字は、だいたい次のどちらかから取ります。どちらも「決まった形のデータ」なので、プログラムで読みやすいのがよいところです。

取りかたどんなもの例
をダウンロード表をカンマ区切りの文字にしたファイル自分のサイトのアクセス解析から書き出した、記事ごとのアクセス数
公開されている 決まった URL にたずねると、データが返ってくる窓口国や自治体などが公開しているデータの API
この講座の練習では、アクセス数の CSV(見本)を使います。

練習の見本は、記事の名前(slug)、題名(title)、アクセス数(views)の3つの列だけの CSV です。下の「やってみよう」からコピーできます。

取りかたの3つのきまり

公開されているデータでも、自由に何でもしてよいとはかぎりません。この講座では、次の3つをきまりにします。

1使ってよい条件(利用規約・ライセンス)を先に読む
2取りすぎない。週に1回なら、週に1回だけ取る
3取ったデータは、日付の名前をつけてそのまま残す
「そのまま残す」と、あとで「この週の数字はどこから来たのか」を確かめられます。

APIキーが要るデータの場合は、キーはレッスン2のとおり、コードにもリポジトリにも書きません(自動で動かすときの入れ場所はレッスン9)。

この講座の練習では、毎週の CSV は自分でアクセス解析から書き出して、data/views/ に「その週の月曜の日付」の名前で置き、push します。月曜の朝に動く自動のしくみ(レッスン9)は、先週の CSV が置かれていなければ止まるようにします。データが API で取れる場合は、取るところも Claude Code にプログラムにしてもらい、レッスン9のワークフローの最初に入れられます。

計算はプログラムにまかせる

上位5本を選ぶ、先週から何位上がったかを出す、といった計算は、プログラムにまかせます。プログラムは同じ入力なら毎回同じ答えを出すので、まちがいがあっても見つけて直せます。

入力data/views/2026-10-19.csv(今週)と、1つ前の週の CSV
プログラムscripts/rank.mjs が上位5本と、順位の上がり下がりを計算
出力data/ranking/2026-10-19.json(次の工程で Claude に渡す)
プログラムそのものも、自分で書かずに Claude Code に書いてもらいます。

Claude Code に頼むときは、「計算に AI は使わないで」「見本の CSV で動かして確かめて」と書き添えます。公式も、Claude に作業を確かめる方法を渡すようすすめています。

おかしいときは、止める

自動のしくみでいちばんこわいのは、データがおかしいのに、そのまま記事ができてしまうことです。取れなかった、形がちがう、数がいつもと大きくちがう、といったときは、先に進まずに止めて、知らせるようにします。

止めて知らせる
・CSV が空、取れなかった
・列の名前がいつもとちがう
・行がいつもより少なすぎる
やってはいけない
・先週の数字で代わりに進める
・足りない数字を AI に考えてもらう
止まっても、困るのはその週に更新が遅れることだけ。まちがった記事が出るよりずっとましです。
よくある勘違い

「Claude に CSV を渡せば、順位も計算してくれる」は危ない近道です

数字の計算も Claude にまかせる
AI はもっともらしいまちがいを書くことがあります。順位がひとつずれても、気づきにくいのです
計算はプログラム、Claude は計算ずみの数字を読むだけ
プログラムは同じ入力なら毎回同じ答えを出すので、まちがいを見つけて直せます

やってみよう

  1. 練習用に、下の「アクセス数の CSV(見本)」を data/views/2026-10-19.csv として保存します(2026年10月19日の月曜からの1週間のデータ、という意味の名前です。自分のサイトのアクセス解析から書き出した CSV があれば、それを使います)
  2. 下の依頼文を Claude Code に送って、順位を計算するプログラムを作ってもらいます
  3. できたプログラムを動かして、data/ranking/ にできた JSON の順位が、CSV と合っているかを自分の目でも確かめます
  4. CSV の行を2つ消してから動かし(残りが4本になる)、ファイルができずに、止まった理由が出ることを確かめます。確かめたら、消した行を元に戻します
アクセス数の CSV(見本。data/views/2026-10-19.csv)slug,title,views kitten-food,子猫のごはんの選び方,1280 night-zoomies,猫が夜に走り回るわけ,1105 cat-bath,猫をお風呂に入れるときのコツ,980 cat-grass,猫草の育て方,760 senior-cat,シニア猫と暮らすときの工夫,705 cat-toys,手作りの猫のおもちゃ,640
順位を計算するプログラムを作ってもらう依頼文(Claude Code に)data/views/ にある CSV(名前はその週の月曜の日付。例 2026-10-19.csv。列は slug,title,views)を読んで、いちばん新しい週の上位5本を選ぶプログラムを scripts/rank.mjs として作って。ファイル名の日付で並べて、1つ前のファイルを前の週とし、あれば順位の変化を change に入れて(上がったらプラス、下がったらマイナス、同じなら 0、前の週の上位5本になかったら null)。結果は data/ranking/(いちばん新しい CSV と同じ日付).json に保存して。JSON には、CSV の日付(date)と、その日の ISO の週(week。例 2026-w43)と、上位5本の slug・title・views・rank・change を入れて。列がちがう・views が数字でない・行が5本より少ない、のどれかなら、ファイルを作らずに理由を出して止めて。計算に AI は使わないで。作ったら、見本の CSV で動かして確かめて

確認問題

Q1. 公開されているデータを API で取る前に、まずすることは?
Q2. 毎週の CSV が取れなかった(空だった)とき、どうする?
今日の練習

自分のサイトのアクセス解析で、記事ごとのアクセス数を CSV で書き出せるか、メニューを探してみましょう。

この記事の用語

コース6 API編の目次

  1. 1APIとは?アプリ版との違い
  2. 2APIキーの作り方と守り方
  3. 3料金の考え方と、使いすぎを防ぐ上限設定
  4. 4はじめての呼び出し
  5. 5全体像
  6. 6データを集める
  7. 7Claude に文章を書かせる
  8. 8記事ファイルにしてサイトに載せる
  9. 9毎週自動で動かす
  10. 10公開前のチェック
  11. 11メール配信とつなぐ
  12. 12料金と、失敗したときの備え
  13. 13実例:週次レポートの裏側