Edited at

Contribution順Qiitaいいな〜ランキング

Qiitaいいな〜ランキングという記事を見かけたので、これをContribution順にしてみました。

自分が全く使ってないので、他の人はどの程度なのかを見てみたかったというだけであって特に意味はありません。

Contribution数は2019/02/11時点のものですが、Contribution順位はQiitaのいろいろランキング2018からコピペしたものなので順位とContribution数が合っていない場合があります。


一覧

ユーザ
いいね数
Contribution数

@jnchito
237
43298

@hirokidaichi
120
42623

@icoxfog417
169
33242

@suin
1101
29754

@shu223
780
21966

@mizchi
151
21462

@rana_kualu
1
22174

@mpyw
3776
20969

@opengl-8080
1803
20262

@KeithYokoma
476
19672

@kenju
18
19125

@yuku_t
1441
18786

@awakia
431
17176

@mono0926
4783
15825

@b4b4r07
1739
14993

@cognitom
440
14744

@muran001
204
14310

@edo_m18
1037
14345

@koher
773
14225

@haminiku
110
13986

@zaru
443
14098

@kazunori279
199
12260

@susieyy
1887
12160

@kenmatsu4
411
12326

@appwatcher
148
12006

@shibukawa
355
12230

@takeharu
4
11960

@yimajo
1149
11805

@hshimo
152
11175

@ynakayama
487
11126

@kawasima
50
11095

@tadsan
2006
10947

@uasi
1455
10746

@hkusu
1060
10510

@kidach1
325
10486

@poly_soft
714
11158

@tonkotsuboy_com
1049
11239

@joker1007
394
10214

@Hironsan
203
10406

@tukiyo3
1853
10179

@t_nakayama0714
149
10153

@kazukichi
93
9960

@tag1216
1472
10372

@usagimaru
1406
9764

@Quramy
1187
9727

@Qiita
33
9567

@youwht
434
9856

@kawaz
444
9091

@zembutsu
73
9092

@howdy39
1123
9106

@drken
353
10912

@sion_cojp
153
8804

@vvakame
902
8879

@y_hokkey
826
8787

@amay077
1337
8760

@okappy
269
8521

@tbpgr
906
8657

@jabba
80
8661

@n0bisuke
4
8231

@TakahikoKawasaki
10
8654

@syui
723
7960

@kaiinui
278
7670

@yuya_presto
987
7641

@jacksuzuki
94
7648

@tatesuke
214
7594

@tmknom
233
7590

@Jxck_
4
7494

@ryuichi1208
40
10037

@shizuma
326
7425

@gogotanaka
102
7086

@mochizukikotaro
433
7012

@tenntenn
828
7005

@zaburo
12
7103

@okunokentaro
789
6775

@ukiuni@github
38
6803

@disc99
45
6821

@pugiemonn
1214
6858

@terrierscript
1538
6858

@nonbiri15
63
6644

@hik0107
47
6578

@yaotti
1210
6415

@nekoneko-wanwan
66
6454

@takahirom
799
6481

@shuntaro_tamura
182
6509

@magicant
640
6354

@alt
6927
6519

@Ted-HM
267
6437

@hidekuro
232
6204

@r7kamura
70
6110

@koba04
47
6085

@daxanya1
144
6013

@koogawa
1578
6045

@ryounagaoka
73
6040

@toshihirock
139
6103

@voluntas
767
5854

@soarflat
132
6307

@colorrabbit
427
5795

@k0kubun
394
5810

@akameco
401
5746

@yoshizaki_kkgk
188
5771

意外といいね数0はいませんでした。

しかし上位だからといって必ずしもいいね数が多いわけではないですね。


おまけ:ソースコード

所詮使い捨てのコードなので、何も考えずに上から順にばばばと書いていっただけです。

間違っても仕事でこんな書き方をしてはいけないぞ。

$savedata = [];

const LIKE_URL = 'https://qiita.com/%1$s/like';

// ユーザ一覧
$users = [ /* 省略 */ ];

// 繰り返し
foreach ($users as $user) {
$userdata = [];

// URL
$url = sprintf(LIKE_URL, $user);
// 取得
$htmlMoto = file_get_contents($url);

// Contributions
$strStart = 'contributions"><span class="userActivityChart_statCount">';
$strTo = '</span>';
$contributions = substr($htmlMoto, strpos($htmlMoto, $strStart)+ strlen($strStart));
$userdata['contributions'] = substr($contributions, 0, strpos($contributions, $strTo));

// 最終ページのページ数
$strTo = '"><i class="fa fa-angle-double-right">';
$html = substr($htmlMoto, 0, strpos($htmlMoto, $strTo));
if (!$html) {
// 1ページしかない
$userdata['iine'] = substr_count($htmlMoto, 'article class="media ItemLink"');
} else {
// 2ページ目以降がある
$strStart = 'page=';
$html = substr($html, strrpos($html, $strStart) + strlen($strStart));
$lastpage = (int) $html;

// いいね最終ページを取得
$url = sprintf(LIKE_URL, $user) . '?page=' . $lastpage;
$html = file_get_contents($url);

// 最終ページのいいね数
$lastiine = substr_count($html, 'article class="media ItemLink"');

// 合計はページ数*20+最終ページのいいね数
$userdata['iine'] = ($lastpage - 1) * 20 + $lastiine;
}

$savedata[$user] = $userdata;
}

// 終了
file_put_contents('ranking.json', json_encode($savedata));

いくら使い捨てとはいえ手抜き過ぎるだろ。

せめてlikeとiineくらい統一しろと。