首页 > 代码库 > 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/