Qiitaの記事一覧を取得して一年を振り返ろう

# はじめに

- QiitaAPIを使用して記事一覧を取得する
- 取得結果をAIに分析してもらう
- ついでにGoogleAnalyticsのデータを組み合わせて分析してみる

### QiitaAPIドキュメント

https://qiita.com/api/v2/docs

# 手順

## 1.アクセストークンを取得する


[アクセストークンの発行ページ](https://qiita.com/settings/tokens/new)からアクセストークンを発行します。
今回は記事一覧を取得できればいいため、スコープはread_qiitaにチェックしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/cc1b313d-d811-d8e1-6898-5a6c8aa1049f.png)


## 2.APIをたたく(curlコマンド)

APIは「GET /api/v2/items」を使用します。

APIDocを参照。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/01e458d1-816d-b027-bf8e-317ca9ddcd22.png)

curlコマンドを作成しましょう。取得結果をCSVに加工して出力しています。

```bash

# 1ページ目（最初の100件）
echo '"タイトル","URL","作成日時","いいね数","タグ"' > output.csv && \
curl -H 'Authorization: Bearer XXXXXX' \
'https://qiita.com/api/v2/items?query=user:ymgc3+created:>2024-01-01&per_page=100&page=1' | \
jq -r '.[] | [
  .title,
  .url,
  .created_at,
  .likes_count,
  ([.tags[].name] | join(";"))
] | @csv' >> output.csv
```

「Bearer XXXXXX」のXXX部分に、APIトークンを設定します。
検索条件に、ユーザIDと期間を設定します。

>curl -H 'Authorization: Bearer XXXXXX' \
>「query=user:ymgc3+created:>2024-01-01」



１リクエストでの取得は最大100件です。100件以上ある場合は、「&page=n」繰り返し。
「output.csv」に追記していきます。

``` bash
# 2ページ目
curl -H 'Authorization: Bearer XXXXXX' \
'https://qiita.com/api/v2/items?query=user:ymgc3+created:>2024-01-01&per_page=100&page=2' | \
jq -r '.[] | [
  .title,
  .url,
  .created_at,
  .likes_count,
  ([.tags[].name] | join(";"))
] | @csv' >> output.csv

```

## 3. 取得結果を確認

output.csvの中身を確認しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/f01d33a2-6642-f9a8-bd26-a31a4e6e8129.png)

取得できていそうです！

## 4. 取得結果を分析する

AIに分析を依頼してみましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/b127a6e7-d1b8-7c80-50ed-0db4ff9c177b.png)

雑な依頼からも、以下を出力してくれました。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/f25fc8e4-3682-65b7-e80e-c3f00441699a.png)


```

データの分析結果から以下のような興味深い洞察が得られました：

1. 投稿数と頻度
- 総記事数: 137記事
- 最も投稿が多かった月は2024年4月（35記事）
- 月平均約11.4記事のペースで投稿

2. いいね数の分析
- 総いいね数: 250
- 平均いいね数: 1.82
- 中央値: 0
- 最大いいね数: 24
これは投稿の反響にかなりばらつきがあることを示しています。

3. タグの傾向
トップ5タグ：
- LLM (47回)
- Python (32回)
- langchain (11回)
- AI (10回)
- GPT-4 (9回)
LLMとAI関連の記事が非常に多いことがわかります。

4. 記事の公開状態
- 公開記事: 64.2%
- プライベート記事: 35.8%
約3分の1の記事がプライベート設定になっています。

5. 月別の投稿傾向
- 4月が突出して多い（35記事）
- 6月も比較的多い（20記事）
- 11月、12月は少なめ（各4記事）

これらのデータは、主にAIとプログラミング（特にLLMとPython）に焦点を当てた技術ブログとしての特徴を示しています。
```

https://claude.site/artifacts/77b08abf-ede8-4f54-b802-2ce3a0239508

## 5. GAデータの取得

Google アナリティクスのデータも分析したいです。

レポートのスナップショットを1年分取得します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/0e0393c1-c652-1209-d8cf-89bebd1b866d.png)

## 6. GAデータの分析

同じく、AIに分析を依頼してみましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/2ea26e85-8926-1645-2e4f-611e7c13b464.png)

```

はい、GAデータを分析していきましょう。主要なメトリクスについて解析と可視化を行います。

データを視覚化するためのダッシュボードを作成します：

分析結果から以下の主要な洞察が得られました：

1. トラフィックと成長
- 週間アクティブユーザー（WAU）は74人から最大2,270人まで成長
- 平均WAUは約1,398人
- 成長曲線は段階的な上昇を示し、特に25-26週目あたりでピークを記録

2. コンテンツパフォーマンス
トップ5の人気記事：
1. チャンキング戦略 (5,219ビュー)
2. LLMのパラメータ数解説 (4,658ビュー)
3. ガウス混合モデル解説 (4,612ビュー)
4. GNN入門 (4,030ビュー)
5. UMAPによる次元削減 (3,477ビュー)

3. ユーザー行動
総イベント数の分布：
- Show: 51.94%
- セッション開始: 13.88%
- ページビュー: 13.42%
- 初回訪問: 10.72%
- ユーザーエンゲージメント: 8.23%

4. 地理的分布
- 日本: 67,280ユーザー (98.9%)
- 米国: 456ユーザー
- 中国: 93ユーザー
- 台湾: 63ユーザー
- イギリス: 62ユーザー

5. エンゲージメント指標
- 総セッション数: 97,687
- 総ページビュー: 94,443
- 新規ユーザー: 75,429
- いいね数: 298
- 記事ストック数: 211

特筆すべき点：
- LLMとPython関連の記事が特に人気
- ユーザーベースは主に日本国内
- エンゲージメント率（いいね、ストック）は比較的低い
- 記事の技術的な深さと実践的な内容が評価されている

これらの指標に基づくと、サイトは技術系コンテンツに特化し、着実な成長を遂げていることがわかります。
```

## 7. 2つのデータを組み合わせた分析

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/3769403b-d672-bc92-a527-66c3e616ddfd.png)

```bash

Qiitaの記事データとGAデータを組み合わせた分析から、以下の主要な洞察が得られました：

1. コンテンツ効果性
- 最も効果的なタグ（ビュー数/記事）：
  1. LLM (2,341 views/記事)
  2. Python (1,872 views/記事)
  3. グラフ理論 (1,654 views/記事)
  4. ChatGPT (1,432 views/記事)
  5. langchain (1,298 views/記事)

2. 時期別パフォーマンス
- 最も生産性が高かった月：2024年4月（35記事）
- 最もビュー数が多かった月：2024年4月（21,450ビュー）
- 記事数とビュー数には正の相関がある

3. コンテンツタイプ別の効果
- 技術解説記事が最も高いエンゲージメント（平均2,800ビュー）
- チュートリアル形式が2番目に効果的（平均2,100ビュー）
- 論文解説は中程度の効果（平均1,900ビュー）

4. エンゲージメントパターン
- 長期的に人気な記事：
  - チャンキング戦略（5,219ビュー）
  - LLMのパラメータ数解説（4,658ビュー）
  - 技術解説系の記事が安定した閲覧数を獲得

5. 改善の機会
- いいね数とビュー数の比率が低い（約0.3%）
- コメント数が非常に少ない（2件）
- SNSシェア数も限定的（35件）

推奨アクション：
1. LLMとPython関連のコンテンツに注力
2. 技術解説形式のコンテンツを増やす
3. 読者エンゲージメントを促す仕組みの検討
4. チュートリアル形式のコンテンツを強化
5. 人気記事のフォローアップ記事の作成

これらの分析結果は、今後のコンテンツ戦略立案に活用できます。
特に、技術解説とチュートリアルに重点を置きながら、LLMやPythonなどの人気トピックをカバーすることで、より効果的なコンテンツ作成が期待できます。
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/4266a18a-767c-063b-f7e7-eb63864655c2.png)

https://claude.site/artifacts/185feb0d-fab0-4278-b907-272471010461

## おまけ

## ワードクラウド

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/0c7d0aaa-19b8-2447-6b11-0e40fbbf0c7e.png)

## 単語ペア - ネットワーク

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/c1865651-db97-31e0-6707-f51a3a87fdf5.png)