首页 > 代码库 > PageRank实践-博客园用户PageRank排名

PageRank实践-博客园用户PageRank排名

  博客园用户由关注和粉丝的关系,这与网页的链接关系很类似,于是我就爬了博客园的粉丝与关注用户,然后计算了一下用户的PageRank排名,注意本排名仅仅是个人娱乐,不代表任何利益,而且可能计算有误,望大家不要较真。

  关于PageRank的原理和计算方法参看上一篇文章,这篇文章主要介绍一下博客园用户PageRank的结果.

  目前博客园用户超过了17万,我以自己为启点,不断的爬取用户的粉丝和关注,最终爬到的用户是132483,还剩4万多的用户没有爬取到,我分析这部分用户是既没有粉丝也不关注其他用户的孤岛,当然也有可能是我的爬虫写得有遗漏,过几天把我的爬虫的代码贴上来,欢迎讨论。对每一个用户我只保存了粉丝,整个数据集也不大就6M。数据样本如下:

 1 fengfenggirl    cnlmgsoft    277560    color-my-life    Fyhong    419935    371927    const-zhou    missliuxin...
 2 218920
 3 224437
 4 12taotie21    573803    cnlmgsoft    224437    Nine09    539558...
 5 24la    uniquejim    cacotopia    yisuifeng    QMM2008    335590    shouhuqingtian    konglj    zdh8675    224437...
 6 277560
 7 316295
 8 322242    cnwisdom    zoyobar...
 9 335590
10 371927    niuox    huiyuan    oooweb...
11 399140
12 10jschen    633583    best001    584842    forever97    575086    587400    sunshine052697    574805...
13 -wang-xin
14 372465774y    624534    tylf    lyf123456    ...
15 0803yijia    549203    zmx354    liuxueyang    zhengnanlee    guoyongzhi    xufulong...
16 20120125llcai    nextbin ...

  每一行的各个字段以制表符分割,第一个字段代表一个用户,后面的字段代表他的粉丝,最后使用PageRank排序结果前200名如下(详细的排名请查看github上面的完整数据):

  0      0.00559543389986    lhb25                66     0.000839802055831    jerrylead            132    0.000464649968582    hustskyking
  1      0.00457861589323    artech               67     0.000833647231893    csn0721              133    0.000458310574066    JimmyZheng
  2      0.00439329342095    fish-li              68     0.000828602702426    eaglet               134    0.000451509136221    dodolook
  3      0.00393014836031    000001               69     0.000818678206783    beniao               135    0.000451048409885    gaizai
  4      0.00393014836031    0001                 70     0.000781009199057    rupeng               136    0.000450369395804    phinecos
  5      0.00393014836031    dudu                 71     0.000754836771681    sanshi               137    0.000450102114477    nowpaper
  6      0.00315076898523    lyj                  72     0.000749149076496    wangkewei            138    0.000445602888412    frank_xl
  7      0.00300910902218    TomXu                73     0.000741413361512    kirinboy             139    0.000442521410475    ruxpinsp1
  8      0.00272168636951    rubylouvre           74     0.000740698500873    chenxizhang          140    0.000439402499162    qingyuan
  9      0.00256966010597    JimmyZhang           75     0.000722860735431    yuyijq               141    0.000427917952603    baochuan
  10     0.00242987369757    jirigala             76     0.000722021879128    58top                142    0.00041817863625    zhuweisky
  11     0.00238636097728    qcban                77     0.000717196812281    jv9                  143    0.000415590246827    baihmpgy
  12     0.00218337144565    miloyip              78     0.000713309956094    downmoon             144    0.000414863586334    tianzhiliang
  13     0.00202387545442    forfuture1978        79     0.000712931083674    _franky              145    0.000406360753369    umlonline
  14     0.00200080883492    JeffreyZhao          80     0.00071008430007    zilongshanren        146    0.000405027243026    txw1958
  15     0.00180311556327    alamiye010           81     0.000709773595766    joy2code             147    0.000403621369751    stbchina
  16     0.00179344687661    hooray               82     0.000694651345766    sunyanjun            148    0.000403471248176    floyd
  17     0.00177395295468    cmt                  83     0.000692124060749    anlyren              149    0.000398579917088    allenlooplee
  18     0.00173637317457    over140              84     0.00068499542403    chsword              150    0.000398043610639    caishen
  19     0.00170248721809    shanyou              85     0.000682697374397    hongru               151    0.000395246211179    aaronjs
  20     0.00169417353984    Terrylee             86     0.000678516894529    JustinYoung          152    0.000395044745313    yukaizhao
  21     0.00165895793516    anytao               87     0.000678253562893    xupengnannan20070617     153    0.000391600920775    tuyile006
  22     0.00164250012239    KnightsWarrior       88     0.000664346256225    sousuo               154    0.000386480255528    SkyD
  23     0.00163404242748    leoo2sk              89     0.000659000873003    stephen-liu74        155    0.000385813562829    n216
  24     0.0015867004652     cloudgamer           90     0.000645190114367    jillzhang            156    0.000384859816501    zhenyulu
  25     0.00157206987057    yanyangtian          91     0.000639805405321    oomusou              157    0.000381315147481    mgen
  26     0.00151782986607    zhangziqiu           92     0.000633773311489    jyk                  158    0.000377958934106    chijianqiang
  27     0.00145718118778    CareySon             93     0.000631192551604    coderzh              159    0.000376790827048    ASPNET2008
  28     0.00142864529219    huangxincheng        94     0.000628179146865    watsonyin            160    0.000376300128719    lyhabc
  29     0.00142758541204    cj723                95     0.000617749271244    daxnet               161    0.00037496306572    liulun
  30     0.0014104459643     zhoujg               96     0.00061571700696    BoyXiao              162    0.000374854268881    1-2-3
  31     0.00140381820508    cathsfz              97     0.000609563080558    legendxian           163    0.00037171956696    JamesLi2015
  32     0.00134909418054    qianxudetianxia      98     0.000608238546219    figure9              164    0.000370085957417    muer
  33     0.00134100259104    xiaotie              99     0.000604060696156    imzzk                165    0.000369012949264    insus
  34     0.00133776828872    skynet               100    0.000597831675166    TerryBlog            166    0.00036789785174    netfocus
  35     0.0013369243297     liufan9              101    0.000596593669623    xia520pi             167    0.000367261738214    think
  36     0.00122243869035    wuhuacong            102    0.000595559622174    geniusvczh           168    0.000366509550838    wzmaodong
  37     0.00121439398183    xinz                 103    0.000588081279089    zhuqil               169    0.000365882641305    chaobaojun
  38     0.00120528885399    iamzhanglei          104    0.000579142567842    msdnchina            170    0.000364146066026    aimeng
  39     0.00117578460101    vamei                105    0.000574180577448    luminji              171    0.000364098343275    yangecnu
  40     0.00117432516897    justinw              106    0.000569553203514    winter-cn            172    0.000362235159778    kym
  41     0.00116040478506    mjios                107    0.00056055122828    Darren_code          173    0.000362209734608    peterzb
  42     0.00115355039845    gnielee              108    0.000560118201546    hjf1223              174    0.000358489264721    fly_dragon
  43     0.00106982877704    milkmap              109    0.000557755250807    fnng                 175    0.000356926628981    aawolf
  44     0.00106534599722    TankXiao             110    0.000555306869254    ltp                  176    0.000354342530963    gpcuster
  45     0.0010611910923     chenkai              111    0.00055188993395    libaoheng            177    0.000353226742077    wiky
  46     0.00105983298622    Dotaer               112    0.000550798519006    jesse2013            178    0.00035215068631    Zhouyongh
  47     0.0010580592702     janes                113    0.000541981446005    tangfl               179    0.000351032518182    Wayou
  48     0.00105743026705    yjmyzz               114    0.000541961317788    117366               180    0.000350266904469    unruledboy
  49     0.00100424003251    Ninputer             115    0.00053225201126    savez                181    0.000349991353774    hanyonglu
  50     0.000978618911661    wayfarer             116    0.000529697353877    rollenholt           182    0.000348049998578    Cson
  51     0.000959090630618    snandy               117    0.000518744635334    zgx                  183    0.000348010394      nasa
  52     0.000952870579771    yuphone              118    0.000506852604678    finallyliuyu         184    0.000347546628824    foundation
  53     0.000944206640849    webabcd              119    0.000503195130736    vivounicorn          185    0.0003467346093     Mainz
  54     0.000942886098192    GrayZhang            120    0.000499612226552    huyong               186    0.000345302956411    zhili
  55     0.000936371495381    tornadomeet          121    0.000491492631774    yexiaochai           187    0.00034387142685    finehappy
  56     0.000927699906653    fygh                 122    0.0004858924052     shenyisyn            188    0.000343308835642    wzrong
  57     0.00092224520015    LeftNotEasy          123    0.000483944706833    liping13599168       189    0.000339232814841    CherryGhost
  58     0.000917665521254    del                  124    0.000483169482172    heyuquan             190    0.000338320079531    dingxue
  59     0.00090687531771    daizhj               125    0.000481856466941    alexis               191    0.000336633934176    walkingp
  60     0.000902658595585    anderslly            126    0.000480967075313    zhouyinhui           192    0.00033592487401    bitfan
  61     0.000897056326625    cyq1162              127    0.000476976373658    wangiqngpei557       193    0.000334400262734    sufei
  62     0.000887219467957    procoder             128    0.000475209157316    elecpiano            194    0.000331969121912    linzheng
  63     0.000876091270804    haogj                129    0.000470927740775    GoodHelper           195    0.000329300169164    ldp615
  64     0.000863664667552    hegezhou_hot         130    0.000469568951533    tonyqus              196    0.000327718955248    ccdev
  65     0.000857316073332    Solstice             131    0.000469507292112    jkisjk               197    0.000327212369838    feisky
                                                                                                    199    0.000326931048717   xuesong
                                                                                                    200    0.0003254232371        QLJ1314

  第一列是排名,然后是PageRank值,接着是用户id。

  排名第一的lhb25是前端高手梦想天空(山边小溪),他的粉丝数量超过7K,绚丽的东西大家都喜欢。PageRank排名靠前不管要求粉丝多,还需要粉丝有质量,也就是粉丝的排名也要靠前。我的排名在了1743名,需要加油啊,我能排在2000左右,还多亏排名第八rubylouvre司徒正美,如果没有这位牛人,我的排名至少下降500名。

  奇妙的发现第3、4、5名的000001、0001、dudu都是同一个人——博客园的管理员大哥。

  接下来我取前50名,我用Gephi画了一些社交关系图。

  

 

  这是总排名前50的关系图,这里每一个结点是一个用户,点的大小是用按着50个用户PageRank排名确定的大小,这里的排名跟之前的不一样,因为有人被众多50外的用户关注,但只被50内的几个用户关注,那他的排名就降低了。

  第一名总是比较抢眼,排名第一的ChenKai粉丝数为600,比lbn25、dudu少很多,为什么他的结点这么大,我把图放大后又发现了一个奇妙的事,这位大哥竟然有一条弧指向自己,我以为是我的数据错了,看了一下他的粉丝,发现他真的关注了他自己,很想知道他是怎么做到的^_^,他成了一个上一篇文章说到的陷阱结点。

  下面以入度作为结点大小设置指标的关系图

   在前50的牛人中以入读作为结点大小应该更合理,这样chenkai的环就不能起到太大的提升作用。

  最后,还是想说本排名仅供娱乐,请不要较真,能进前200的都是牛人,我等千里之外的还得想你们学习。

  另外如果需要用户链接关系的数据,我已经放在github上,需要的即可下载,不用再爬数据,以免给管理员带来麻烦。

 

感谢阅读,转载请注明出处:http://www.cnblogs.com/fengfenggirl/