LoginSignup
25
11

More than 5 years have passed since last update.

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

Last updated at Posted at 2019-02-11

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くらい統一しろと。

25
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
11