はじめに
Qiitaの記事を見ているとき、ユーザーが書かれた記事一覧をまとめて見たいと思ったことはありませんか?
ユーザーが書かれたQiitaの記事一覧をタグごとに個数分析したり、タグで記事一覧をフィルターして見たいと思ったことはありませんか?
本記事は、その方法を紹介します。
本記事の対象者
- ブックマークレットでQiitaの記事一覧を取得したい方
- 取得したQiitaの記事一覧をExcelで見たい方
- Qiitaの過去記事から有用な記事を効率的に発掘したい方
方法
その方法とは、私が作成したブックマークレットでQiitaの記事一覧を取得し、Excelに貼り付けて眺めることです。
つぎに、私が作成したVBAでタグの個数分析を行い、Excelのフィルター機能を使ってタグで記事一覧をフィルターします。
手順
- 最初に、ブックマークレットを作成します。ウェブブラウザで新しいブックマークを追加して、名前欄に任意の名前を記入し、URL欄に このリンク の中身を貼り付けます。
- つぎに、Qiitaのページ(タグか、検索結果か、ユーザーか、組織)を開きます。ユーザーの場合は選択肢(投稿かストック)を選びます。
- ブックマークレットをクリックしてQiitaの記事一覧を取得します。取得した記事一覧は通常クリップボードにコピーされ、そのままExcelに添付できます。クリップボードにコピーできなかった場合、テキストファイルとしてダウンロードします。
- 取得したQiitaの記事一覧をExcelに貼り付けます。
- 以降の節に書いたExcel VBAでタグを個数分析します。
- Excelのフィルター機能をつかってタグでフィルターしてQiitaの記事一覧を見ます。タグの前後にカンマをつけたものを含むもので手動でフィルターします。
この方法の利点
Qiitaの記事一覧をシートごとにExcelファイルに保存して再利用することになるので、サーバーに負担をかけません。
タグごとに記事タイトルの一覧を眺めることになるので、人に負担をかけません。たとえば、JavaScriptとPythonの記事タイトルを交互に眺めるより、JavaScriptの記事タイトルだけを眺めてからPythonの記事タイトルだけを眺めたほうが人への負担が軽いです。
Qiitaのウェブページはページネーションで分割されていますが、この方法ではQiitaの記事一覧をまとめて眺められます。
Excelファイルとして眺めることによって、日時やストック数などの項目で並べ替えすることもでき、過去記事から有用な記事を効率的に発掘できます。
Qiita APIを使って記事一覧を取得するブックマークレット
このリポジトリに、webpackにかける前のブックマークレットのソースプログラムがあります。
この記事で、ブックマークレットを出力するためのwebpackのプラグインについて書きました。
URLとQiita APIの対応
タイプ | URL | Qiita API |
---|---|---|
タグ | qiita.com/ tags/$tag_id |
/api/v2/tags/ $tag_id/items |
検索結果 | qiita.com/ search?q=$query_id |
/api/v2/items ?query=$query_id |
ユーザー (投稿) |
qiita.com/ $user_id |
/api/v2/users/ $user_id/items |
ユーザー (ストック) |
qiita.com/ $user_id |
/api/v2/users/ $user_id/stocks |
組織 | qiita.com/ organizations/$org_id |
/api/v2/items ?query=org:$org_id |
ブックマークレットが取得する項目
title | 記事タイトル |
---|---|
url | URL |
tags | カンマ区切りのタグ一覧 |
created | 作成日時 |
updated | 更新日時 |
comments | コメント数 |
likes | いいね数 |
stocks | ストック数 |
id | URLにもある記事id |
Excelのソート機能で、日時やストック数などの項目で並べ替えすることもできます。
タグを個数分析するExcel VBA
Sub タグを個数分析する()
Dim ws_active As Worksheet
Dim rng As Range
Dim cell As Range
Dim tags As Object
Dim tag As Variant
Dim ws_output As Worksheet
Dim i As Long
Set ws_active = ActiveSheet
Set rng = ws_active.Range("C2:C" & ws_active.Cells(ws_active.Rows.Count, 3).End(xlUp).row)
Set tags = CreateObject("Scripting.Dictionary")
For Each cell In rng
If cell.Value <> "" Then
Dim tagList() As String
tagList = Split(cell.Value, ",")
For Each tag In tagList
If tag <> "" Then
tags(tag) = tags(tag) + 1
End If
Next tag
End If
Next cell
Set ws_output = ThisWorkbook.Sheets.Add
ws_output.name = "タグ集計"
ws_output.Cells(1, 1).Value = "タグ"
ws_output.Cells(1, 2).Value = "個数"
i = 2
For Each tag In tags
ws_output.Cells(i, 1).Value = "'" & tag
ws_output.Cells(i, 2).Value = tags(tag)
i = i + 1
Next tag
Set rng = ws_output.Range("A1:B" & ws_active.Cells(ws_active.Rows.Count, 2).End(xlUp).row)
rng.Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlYes
End Sub
さいごに
ブックマークレットとExcelでQiitaの過去記事を効果的に発掘する方法について紹介してみました。
この記事が参考になったら幸いです。