首发于私宅

知乎用户排行榜生成器0.2版(附2013.10.26非官方排名一份)

最近@GayScript搞了个排行榜,不少人看了后表示自己也想试试刷一个出来。而那段代码脚本是我几个月前写的,没顾及到易用性,刷起来很麻烦,所以对它做了改进,由0.1版升级到了0.2版。

功能比最早的简陋版本方便了不少,主要是以下几方面:

  • 不用挨个去每个人的关注列表刷新了,可以一次性自动刷多个人;
  • 可以自定义要刷新的人和限制条件;
  • 扫描结果自动去除重复项,直接生成表格,还能按照各种条件排序;
  • 也可以改回逗号分隔的形式,粘贴到Excel里再做处理;
  • 为避免重名问题,为用户名加了链接;


用法也很简单:

  • 把本文末尾的脚本复制下来;
  • 在Chrome中打开知乎的任意一个页面(专栏不行),按F12弹出开发者工具,点击“Console”标签,把脚本粘贴进去,敲回车;
    (如果用的是IE,同样按F12,点“控制台”标签,粘贴后点击“运行脚本”按钮)
  • 然后会弹出一个窗口,不用管,它会自动逐个刷用户的关注列表;
  • 刷完第一个人之后就会出现表格了,紧接着还会继续刷第二个、第三个……:
  • 表格右上角有个下拉框,可以按赞同/回答比、赞同数、回答数、提问数、关注数排序;
  • 或者改成逗号分隔的形式,粘贴到Excel里;
  • 点用户名能进入个人主页;
  • 如果有兴趣一试的话,建议饭前开刷,吃完饭刚好看结果;
  • 脚本的前几行是配置参数,可以自行修改:
    • 第一行是要刷关注列表的用户名,用逗号分隔。注意,不是用户昵称,是地址栏里people斜杠后面的用户名;
      不过我默认提供的这几个人大致已经能覆盖绝大多数热门用户了;
    • 后面四个是限制条件,为避免返回的结果过多,可以忽略掉某项条件小于这个数的用户,如果不限,就改成0;


这是我重新统计的知乎总赞同数前200名(时间2013.10.26):

不过还是要强调一下:

第一,这不是官方的权威数据,多少会漏掉一些;

第二,没计入专栏文章数,赞答比可能会偏高;

第三,排名和赞同数都仅供参考,既不是评判用户水平的标准,也不是推荐的标准。



下面就是这段脚本,有兴趣的可以自己运行一下:

(为了执行方便,这里是压缩过的代码,源码我放在这里了,有兴趣的人可以看看)

//用逗号分隔用户名
var userarray = "guxizhao,zou-dao-kou,xiaodaoren,cai-tong,xu-xiang-nan,unogzx,shenbin,PeterDeng,namiheike,wu-si-yang-32,yskin,jixin";
//回答数限制
var answerlimit = 10;
//赞同数限制
var agreelimit = 200;
//赞同回答比数限制
var ratiolimit = 10;
//关注者数限制
var followerlimit = 10;

eval(function (p, a, c, k, e, d) { e = function (c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) d[e(c)] = k[c] || e(c); k = [function (e) { return d[e] } ]; e = function () { return '\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]); return p } ('7 K=30.N(\',\');7 M=0;7 5=1O 2Z();7 A=1F;7 10=0;8 L(T){$("#T").h(T)}8 Q(){$("#17").29(0);$("#x").29(0);7 11=$("#5");t(A){7 12="<26 28=\'1\' 2Y=\'2\' g=\'28-27: 27;\'><13><6>编号</6><6>用户名</6><6>关注者</6><6>提问</6><6>回答</6><6>赞同</6><6>赞同/回答比</6></13>";1i(i 1h 5){12+="<13><6>"+(25(i)+1)+"</6><6><a 1o=\'/U/"+5[i].9+"/\' 24=\'23\'>"+5[i].k+"</a></6><6>"+5[i].f+"</6><6>"+5[i].j+"</6><6>"+5[i].c+"</6><6>"+5[i].d+"</6><6>"+5[i].p+"</6></13>"}12+="</26>";11.h(12)}1j{11.h("编号,用户名,关注者,提问,回答,赞同,赞同/回答比");1i(i 1h 5){11.2X("<2W/>"+(25(i)+1)+",<a 1o=\'/U/"+5[i].9+"/\' 24=\'23\'>"+5[i].k+"</a>,"+5[i].f+","+5[i].j+","+5[i].c+","+5[i].d+","+5[i].p)}}}8 15(){7 o=$("#w").1W();7 k=o.l(".2V-2U.2T a").h();t(o.l(\'.22-19-21[20-1Z]\').s<1){L(k+"的"+10+"个关注者加载完成");1X()}1j{o.l(\'.22-19-21[20-1Z]\').2S(0).1r();7 1Y=o.l(".P-1p-2R-2Q 2P").h();10=o.l(\'.1V-1U-Z .P-1p-1T .P-Z-o-1S\').s;L("正在加载"+k+"的关注者:"+10+"/"+1Y+"... <V g=\'1N-F: G-1M;\' 1k=\'1n://W.1m.1l/W/V/1L/1K-1J.1I\'/>");2O(15,2N)}}8 1X(){7 1R=$("#w").1W().l(\'.1V-1U-Z .P-1p-1T .P-Z-o-1S\');1R.2M(8(){7 k=$(R).l(\'a.1Q-1P\').h();7 9=$(R).l(\'a.1Q-1P\').1H("1o").2L("1n://2K.1m.1l/U/","");7 O=$(R).l(\'.2J\');7 f=Y(O.n(0).X().n(0).h().N(\' \')[0]);7 j=Y(O.n(0).X().n(1).h().N(\' \')[0]);7 c=Y(O.n(0).X().n(2).h().N(\' \')[0]);7 d=Y(O.n(0).X().n(3).h().N(\' \')[0]);t(c>=2I&&d>=2H&&d/c>=2G&&f>2F){7 r=1O 2E();r.k=k;r.9=9;r.f=f;r.j=j;r.d=d;r.c=c;r.p=(d/c).2D(2);1G(r)}});16();Q();M++;14()}8 14(){t(M<K.s){L("共"+K.s+"个用户,准备扫描第"+(M+1)+"个... <V g=\'1N-F: G-1M;\' 1k=\'1n://W.1m.1l/W/V/1L/1K-1J.1I\'/>");$("#w").1H("1k","/U/"+K[M]+"/2C")}1j{L("所有"+K.s+"名用户的关注者已经全部扫描完成,共找到"+5.s+"个符合条件的用户")}}8 1G(r){7 1g=2B;1i(i 1h 5){t(r.9==5[i].9){1g=1F;q}}t(!1g)5.2A(r)}8 16(){t(5.s>0){7 1a=$("#x").1q();2z(1a){J"p":5=5.I(8(a,b){H b.p-a.p});q;J"d":5=5.I(8(a,b){H b.d-a.d});q;J"c":5=5.I(8(a,b){H b.c-a.c});q;J"j":5=5.I(8(a,b){H b.j-a.j});q;J"f":5=5.I(8(a,b){H b.f-a.f});q;2y:q}}}$("2x").2w(\'<m 9="2v" g="C:1E%;v:1E%;B:1f;E:1f;D:2u;z-1D: 2t;1e-1d: 2s(0, 0, 0, 0.4);G-F:2r;"><m 9="2q" g="C:2p;v:2o;1y:2n 1b 1f 1b;D: 2m;z-1D: 2l; 1c: S;"><1A 9="w" g="C:1C;v:1C;B:-1B;E:-1B;D:18;"></1A><m 9="T" g="v: 1z;1e-1d: #2k;2j-v: 1z;G-F: E;1c-E: S;"></m><m 9="5" g="v: 2i;1e-1d: #2h;G-F: E;1c: S;1y-B: S;2g-y: 1b;"></m><2f 9="17" g="1x:1w;D: 18;C: 1v;B: 2e;1u: 1t;" 1a="19" u="改为逗号分隔"/><1s 9="x" k="x" g="1x:1w;D: 18;C: 1v;B: 2d;1u: 1t;"><e u="p" 2c>赞同/回答比</e><e u="d">赞同</e><e u="c">回答</e><e u="j">提问</e><e u="f">关注</e></1s></m></m>\');$("#17").1r(8(){A=!A;$(R).1q(A?"改为逗号分隔":"改为表格显示");Q()});$("#x").2b(8(){16();Q()});$("#w").2a(8(){15()});14();', 62, 187, '|||||result|td|var|function|id|||answer|agree|option|follower|style|html||ask|name|find|div|eq|content|ratio|break||length|if|value|height|tempframe|sorttype|||showtable|top|width|position|left|align|text|return|sort|case|users|showmsg|usercursor|split|detail|zm|showresult|this|5px|msg|people|img|static|children|Number|list|cardcount|rsdiv|tablehtm|tr|loaduser|loadmore|sortresult|switchshowtable|absolute|button|type|auto|padding|color|background|0px|exist|in|for|else|src|com|zhihu|http|href|profile|val|click|select|25px|right|100px|none|display|margin|30px|iframe|999px|1px|index|100|true|addresult|attr|gif|loading|grey|spinner|bottom|vertical|new|link|zg|cards|medium|card|general|zh|contents|showratio|total|role|aria|more|zu|_blank|target|parseInt|table|collapse|border|show|load|change|selected|45px|10px|input|overflow|F0F0F0|350px|line|C4D299|999|relative|80px|400px|600px|container|center|rgba|998|fixed|mask|prepend|body|default|switch|push|false|followees|toFixed|Object|followerlimit|ratiolimit|agreelimit|answerlimit|details|www|replace|each|2000|setTimeout|strong|following|side|get|ellipsis|section|title|br|append|cellpadding|Array|userarray'.split('|'), 0, {}))


大家玩得开心,多提宝贵意见。

编辑于 2017-05-26

文章被以下专栏收录