ご存知だろうか
などというタグがあることを。私は知らなかった。ということでQiitaAPIを利用して読まれないQiitaタグを発掘した、したい。というおもちゃづくりメモです。技術的には初心者向け。
話の前提
4月に入りQiitaのトップが変わった。
コミュニティが大きくなるにつれ、使ってくれているユーザーも多様になってきており、それに従って投稿される記事もプログラミング言語、技術、思想、コミュニティ、レベル感などが多様になってきていると思います。これ自体は決してこれは悪いことではなく、Qiitaというエンジニアコミュニティがもつ可能性を示してくれていると思っています。
今のQiitaが抱える課題は、多種多様な記事の中から自分がほしい情報を得たり、整理ができなくなってきていることです。
Qiitaが提供しているコンテンツはマス的なものが多く、全てのユーザーの活動を元に1つのコンテンツを作っています。今回のフィード変更は、Qiitaを「ユーザー一人一人が発見、学びを楽しめるプラットフォーム」にすることを目指して行うものです。
なるほど、なるほど。QiitaのこのアップデートからはQiitaの埋もれた良記事発掘という、新たな楽しみ方が提案されたと考えることにします。であればもっとその先を見たいというのが人情です。Qiitaで最も読まれていないタグの記事たちにはどんな原石が転がっているのか。
QiitaAPIを使ってみる
とても簡単。Docsは以下。
https://qiita.com/api/v2/docs#get-apiv2tags
タグ一覧を作成日時の降順で返します。
sort
並び順 (countで記事数順、nameで名前順)
以下が記事数順、1ページ目
https://qiita.com/api/v2/tags?page=1&per_page=100&sort=count
以下なら作成日時順、100ページ目
https://qiita.com/api/v2/tags?page=100&per_page=100
こんな感じになりますね。
記事数順
作成日時順
作成日時でみるとスパム多いな!...というのは一旦さておいて、
ひとまず記事数順にてページをめくれば
5171位にプリキュア
キャッチーなもの見つかる。
過去記事
同じような思考の人も見つけた。
そしてQiita進化
大衆向けサービスを開発するって大変だなあ。
まとめ
今回の成果物は結局いつものjQueryを使ってしまったので、メモ。
<!DOCTYPE html>
<html lang="ja">
<head>
<title>Qiita Tags</title>
<script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
<script type="text/javascript">
function jumpPage(){
var page = $("#page").val();
$.getJSON("https://qiita.com/api/v2/tags?page=" +page+ "&per_page=100&sort=count", function(json){
//テーブルクリア
$("#tbl").find("tr:gt(0)").remove();
var rows = "";
//テーブルとして表示するため、htmlを構築
for (i = 0; i < json.length; i++) {
rows += "<tr>";
rows += "<td>";
rows += i+1+(page*100-100);
rows += "</td>";
rows += "<td>";
rows += "<img border=0 src=\""+ json[i].icon_url +"\" width=\"32\" height=\"32\" alt=\"アイコン\"> ";
rows += "</td>";
rows += "<td>";
rows += "<a href=\"https://qiita.com/tags/"+ json[i].id +"\" target=\"_blank\">"+ json[i].id +"</a>";
rows += "</td>";
rows += "<td>";
rows += json[i].items_count;
rows += "</td>";
rows += "<td>";
rows += json[i].followers_count;
rows += "</td>";
rows += "</tr>";
}
//テーブルに作成したhtmlを追加する
$("#tbl").append(rows);
});
$(function() {
//fetchボタンのクリック
$("#fetch").click(function(){
jumpPage();
});
});
window.onload = jumpPage;
</script>
</head>
<body>
<p><label>Qiitaのタグランキング</label></p>
<input id="page" type="number" size="10" value="1" max="100" min="1"><input id="fetch" type="button" value="ページ目のデータ取得" />
<table id="tbl">
<tbody>
<tr>
<th>順位</th><th>アイコン</th><th>タグ</th><th>記事数</th><th>フォロワー数</th>
</tr>
</tbody>
</table>
以上Qiitaさんの中の人にねぎらいの念をこめつつ遊んだ記録。
お楽しみいただければさいわいです。