洛谷小数据分析 - 上

本文采用CC-BY-NC-SA 4.0协议,转载请注明出处喵~(=^・ω・^).

前言

本文含有 AI Generated 内容,使用 GPTGemini 负责数据获取和数据分析,正文是手敲的,读者可以放心.
Fluu喜欢使用半角英文符号(排版方便),如观感不适请立即退出.

萬里河山 千代人物

绪论

Fluu想收集一些神秘网页,看了看自己 $1600$ 多个网页的收藏夹,决定开一个repo.
但这么做是不持久的,Fluu必须找一个稳定的源头.
哪里的神秘网页最多呢?当然是洛谷的个人简介.
于是这篇文章诞生了,收集神秘网页才是Fluu本来的目的,分析用户特征是顺带的事.

正文

定义有效用户为能看到个人简介的用户.
定义无效用户为看不到个人简介的用户.

无效用户有以下几种情况:

  • 找不到用户(主动销号)
  • 该用户已被封禁(封号斗罗)
  • 该用户未通过实名认证(不是真人)
  • 用户不可见或请先登录(隐藏自己)

截至 $2026$ 年 $1$ 月 $18$ 日 $11:55\,(\mathrm{UTC}+8)$ ,洛谷用户总注册量大致为

各种用户占比为:

笔者个人推测找不到用户其实是销号了.洛谷销号的流程比较麻烦,限制也很多,可以参考官方文档,所以洛谷销号的人非常少,符合占比.

无效用户能爬到的信息如下:

1
2
3
4
5
6
7
8
9
{
"uid": 4,
"data": {
"errorCode": 404,
"errorType": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
"errorMessage": "找不到用户",
"errorData": []
}
}

没有任何有效信息,账号注册的时间戳也只能通过之上之下最近的有效用户推断,所以下面的分析只基于有效用户.

注册

每年的洛谷用户注册量图表如下:

洛谷在蒸蒸日上.

我们也可以看到OI的旺季和淡季,往往从每年7月开始,持续好几个月.

但 $2025$ 年的洛谷注册量暴涨,发生了什么?这很耐人寻味.

颜色&badge

洛谷的名字颜色有以下几种:

1
2
灰色  蓝色   绿色   橙色  红色  紫色    棕色
Grey Blue Green Orange Red Purple Cheater

我们统计了洛谷各种名字颜色的占比:

用户可以有badge,即名字右侧用颜色做背景的文字.

洛谷有badge的用户只有 $371$ 个,可谓相当少了.
给出所有badge的词云:

关注

每人平均关注 $5.796$ 个其他用户,然而关注用户的中位数是 $0$ .

每人平均获得 $6.716$ 粉丝,为什么和关注不一致呢?可能是不可见的用户关注了.
粉丝的中位数也是 $0$ .

咕值

洛谷用户咕值的分布为:

平均数为 $87.521$ .

不知道为什么Fluu看到这张图就想笑,叉出去.

钩子

注意:由于部分选手藏钩子,本条目数据可能有严重偏差.

绘制同时有钩子和气球的用户的分布为

能看出来CCF评级和XCPC评级有较大的相关关系.

绘制所有有钩子或气球用户的分布为

可以看到洛谷的主要用户仍然是小学生和初高中生.

定义可检测到藏钩子的人为明面上ccfLevel和xcpcLevel都是0,这样洛谷前端就不会渲染这个用户的钩子和气球,但是点开个人简介能看到得过奖的人.
可检测到藏钩子的人数为 $1681$ .

刷题量

首先统计所有精确刷题量的人数,然后对坐标取对数计算,绘得图像如下:

居然真有刷 $1W$ 题目的神仙,平均刷题数为 $79.502$ ,中位数为 $17$.

等级分

等级分就图一乐.
$\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,$ — 某不知名OIer

定义活跃用户为至少打过6场比赛的用户.
洛谷活跃用户的rating分布图为:

洛谷名字颜色只和咕值有关,而等级分对咕值的影响十分有限,所以洛谷等级分没有特别的趋向,比如上红就收手的人,整体大致就体现为正态分布了.

我们用名字颜色对等级分图表染色后的rating分布图为:

可以看到等级分对于咕值有影响,但不多,整体叠的很紧.

头像

挖坑,正在尝试训练相关模型.

撞头像的概率

在洛谷,随机两个人撞头像的概率是多少?

我们首先明确撞头像的定义:

狭义撞头像:两个头像完全相同.
广义撞头像:两个头像表达的人物/动物/物品相同.

按照定义依次计算.

默认头像

狭义撞头像

广义撞头像

野榜

Fluu根据数据创建了几个野榜,不妨来看看里面有没有你.
因为这个榜一没公信力,二没时效性,所以看个乐就好,受限于篇幅只展示前100名.

过题数最多

用户名 过题数量
EuphoricStar 11960
andyli 8181
Windy_YY 6550
FFTotoro 5445
Loser_King 5377
lrx_ 5293
rui_er 5271
lanos212 5236
iiiiiiiiiiiiiiiiiii 5142
liangbowen 4977
whiteqwq 4937
wmrqwq 4767
Alex_Wei 4761
Tx_Lcy 4495
hp13307747077 4492
qianyuzhe 4315
edge 4254
Froggy 4253
CQ_Bab 4105
HugeWide 4076
SpeedStar 3952
wukaichen888 3928
hhoppitree 3907
Eason_AC 3864
Fido_Puppy 3827
qbf! 3825
MyukiyoMekya 3777
Leap_Frog 3717
Rainbow_qwq 3641
yuzhechuan 3639
275307894a 3637
向晚大魔王 3629
jlyzxxm1 3595
MarSer020 3583
maojun 3571
RedreamMer 3492
Harekaze 3480
Mine_King 3468
Licykoc 3426
scycnb 3408
JS_TZ_ZHR 3399
yemuzhe 3388
xzm 3378
12345678hzx 3362
xumengxing 3351
Mikefeng 3332
Graphcity 3292
紊莫 3285
recollector 3271
zxh923 3256
incra 3235
Steadywelkin 3190
Marky_shine 3188
yspm 3152
Miraik 3142
绝顶我为峰 3137
Lynkcat 3134
cppliu 3129
sunnywan 3116
Sktn0089 3093
feecle6418 3067
Chenyufeng040525 3054
gyh20 3040
5k_sync_closer 3037
agicy 3027
Lyccrius 3025
DJRzjl 3023
VegChicken 3018
happy_dengziyue 3014
ibli111 3008
panyf 3001
Dragon33038 3001
Bc2_Ch1ckenPr1nce 2998
tjx114514 2992
clyclycly 2979
lzyqwq 2965
Unnamed114514 2965
qwq7 2958
SpadeA261 2953
luuia 2953
Leasier 2940
orz_z 2926
james1BadCreeper 2905
iwprc 2896
Supor__Shoep 2877
xkcdjerry 2871
zesqwq 2863
DaiRuiChen007 2857
zyxawa 2845
BuQiuRu4587 2843
kradcigam 2820
gdf_yhm 2820
C1942huangjiaxu 2814
fish_love_cat 2812
TruchyR 2810
ShanireZ 2802
Hughpig 2791
__stick 2788
Nityacke 2782
HuangTian 2780

奖项数量最多

比赛参加最多

关注最多

用户名 关注人数
Happynewyear 337
DeaphetS 300
jsnjmyr 300
jerry3128 300
catthomas 300
jinhaoxian 300
Seauy 300
Karry5307 300
我是傻逼sbsbsb 300
甜菜根 300
wuhao2005 300
AshesOfTime 300
清清老大 300
PrincessQi 300
Piwry 300
daduoli 300
半只蒟蒻 300
Eason_AC 300
CaiXY06 300
Purslane 300
songhongyi 300
FxorG 300
le0n 300
QAQQWQ 300
Chara·Fun·Foxy 300
TerryWang 300
quest_2 300
钺Programmer 300
YGB_XU 300
绿豆沙 300
linzhaoyumc 300
bbw20110110 300
Cripple_Abyss 300
杨靖浩 300
dayux 300
MEKHANE 300
hj23308 300
Dsolomon 300
SqrtSecond 300
xiezihan 300
joy2010WonderMaker 300
mazihang2022 300
JK_LOVER 300
CrescentRose 300
Surelysuper 300
T_YF_MC 300
roy2009 300
KaguyaH 300
Yusani_huh 300
OJF 300
DeepSkyBlue__ 300
WRuperD 300
yuchenren 300
康立扬 300
Jorge_Filho 300
宋小陀螺 300
966123anyunchuan 300
Alex 300
ListenSnow 300
我吃死酸辣粉 300
novax 300
xkai 300
郭咏涵 300
wsbcsp123456 300
Talaodi 300
Theresia 300
cheems 300
我是人999 300
Chthollyクトリ 300
RyexAwl 300
Asakawa_Luka 300
云深时见d码 300
mamingxiao 300
ChthollyMeow 300
DP王子 300
dcmfqw 300
CappuChino 300
August_fireworksqwq 300
_Minmatar_Star 300
Kevin_Lsy 300
Chromedome 300
LRT16618 300
lmh_qwq 300
Paper_Tiger 300
daiarineko 300
bbbzzx 300
Prophesy_One 300
tangent_of_circle 300
bijiachen1222 300
Federico2903 300
Electro_Master 300
5k_sync_closer 300
Decompose 300
panyi 300
Super_Florrer 300
pingan20091119 300
OIer_ACMer 300
gongziwen 300
liyan0907 300
Nt_Tsumiki 300

粉丝最多

用户名 粉丝人数
kkksc03 47639
洛谷 47240
chen_zhe 35378
CCF_NOI 29922
小粉兔 23828
一扶苏一 23622
lin_toto 13522
noip 13494
xht 11095
Alex_Wei 10327
StudyingFather 10261
NaCly_Fish 9716
mrsrz 9637
CYJian 8916
洛谷网校 7989
soha 7757
「QQ红包」 6753
hh0592821 6655
jiangly 6259
皎月半洒花 6234
离散小波变换° 5643
zhoukangyang 5290
rui_er 5173
Sooke 5112
darkflames 5021
dead_X 4976
yeszy 4959
JOHNKRAM 4807
command_block 4788
览遍千秋 4699
yyy2015c01 4543
EuphoricStar 4521
_rqy 4493
zcysky 4444
鏡音リン 4376
老K 4298
WYXkk 4287
•́へ•́╬ 4267
Elegia 4245
ix35 4218
memset0 3976
Karry5307 3862
cleverdango 3702
SSerxhs 3588
阮行止 3525
feecle6418 3490
dAniel_lele 3393
Froggy 3367
yummy 3356
dottle 3277
沉石鱼惊旋 3243
LHQing 3239
Coffee_zzz 3230
cff_0102 3144
wucstdio 3027
zhouwc 3023
扩散性百万甜面包 3016
FFTotoro 3002
TSzza 2989
E.Space 2925
听取MLE声一片 2864
shinzAnmono 2815
ddd 2806
LJC00118 2765
情到深处人孤独 2757
Rainbow_qwq 2707
Starrykiller 2630
Anguei 2621
绝顶我为峰 2613
Register_int 2594
zhiyangfan 2558
tzc_wk 2548
fstqwq 2533
BFqwq 2496
云浅知处 2455
Itst 2437
EternalAlexander 2401
Unknown_Error 2292
VinstaG173 2262
wlzhouzhuan 2262
yurzhang 2239
luogu_gza 2228
ComeIntoPower 2217
LeavingZzz 2194
初音Miku 2139
bzy 2137
Scarlet 2125
ducati 2090
Created_equal1 2086
M_sea 2070
Eason_AC 2006
minstdfx 1995
irris 1990
Qiuly 1981
OwenOwl 1975
gyh20 1970
DengDuck 1970
洛谷视频题解 1935
MatrixGroup 1917
幽云蓝 1850

个人简介最长

用户名 字符长度
史丰睿 16752
TonyCai 14596
违规用户名1017748 14342
04MarsWSF 10813
sy170112 10789
chengbingsheng 10459
zvzvzgdfdw 10282
DirtyCode 10240
cxoi1021 10240
weizijian0392 10240
taoruixuan12 10240
zz_z 10240
wojiushihuanyu 10240
useless_muzi 10240
Snowflake_Fairy 10240
AK_lwh_888 10240
LYS_Y 10240
cjjxueyuan 10240
chuzihao123 10240
lmyxh 10240
Zcr7989 10240
wangbo0629 10240
lzxlzx0 10240
lingzichen666 10240
zye666 10240
moonsunny 10240
做对算我输 10239
caoyuxi33 10239
cwxclyh_ 10239
HerobrineLHR 10239
timestimes_2022 10239
lfl122721 10239
Nilou1203 10238
Digalove 10238
zjt66 10238
HarryW 10237
killer_096 10237
starryCJY 10237
cxnzy 10237
xiewendongTony 10237
skyjee 10236
yuhaoming_x 10235
liuzhouyang 10235
zhouxidezhonghao 10235
遛狗的bobo 10233
a_middle 10233
HSY66666 10233
gxa33336 10233
xcwjz 10233
ChasonWang 10233
shenyuting0328 10233
shenyeting 10231
D1000000000 10231
foshib14 10231
lzh等离子 10230
chang_ge 10230
wrh316 10230
wuyuxuan1003 10230
_yhz 10229
小鸟飞飞飞 10228
XL666 10228
xunxun666 10228
Jerry_Van_Moxicillin 10225
Shuoguang_Herta 10225
lsl158 10223
gengshuaichen2012 10223
luqilan 10222
Dr_W_D_Gaster 10221
kdy20100729 10220
潘羿睿 10220
sketa 10220
wenqinghua1001 10220
PY_X 10220
CONAN_ 10220
ZDQZDQZDQ 10219
ABANDON_AC 10219
owapple 10219
复铮 10219
caizehao 10219
robert2009 10218
Yly2016 10217
Inui_Sana 10216
orcaoa 10216
google__chrome 10215
DabbcDanb 10215
iamsb114514 10214
Missile 10214
a1111_xh1215 10214
cqwcqw 10214
LLONG_MAX 10212
dgdger 10212
miao 10212
songchenhao2022 10212
Lhy215 10212
kungeruyi 10212
ChenHY_haita 10212
ttxy 10212
FanSizhe127 10211
hty2014 10211
GongsunJin 10210

附录 PostScript

特异字符

爬取用户slogan的时候发现了一些神秘的字符,大家真是什么都能找出来.

1
2
3
4
5
6
7
㋀㋁㋂㋃㋄㋅㋆㋇㋈㋉㋊㋋㏠㏡㏢㏣㏤㏥㏦㏧㏨㏩㏪㏫㏬㏭㏮㏯㏰㏱㏲㏳㏴㏵㏶㏷㏸㏹㏺㏻㏼㏽㏾㍘㍙㍚㍛㍜㍝㍞㍟㍠㍡㍢㍣㍤㍥㍦㍧㍨㍩㍪㍫㍬㍭㍮㍯㍰
▖▙▚▚▜▝
♾️💨
◑ - ◐
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
████████

爬虫…?

访问洛谷的爬虫协议,可以看见以下内容:

1
2
3
4
User-Agent: *
Disallow: /record
Disallow: /recordnew
Disallow: /paste

Fluu的爬虫只爬取 https://www\.luogu\.com/user/\d+ ,是符合网站规范的.
而且Fluu的爬虫单线程爬了十多天才把数据爬完,对洛谷的影响可以忽略不计.

多线程…

Fluu不是没试过多线程爬虫,但不知道为什么更慢,最后改回单线程的了.
Fluu闲聊的时候会和其他同学汇报爬取进度,开了多线程之后明显变慢了,而且为了维持”Fluu单线程”这个flag还要伪造时间戳,具体地,在powershell中执行以下命令:

1
PS D:\SucksFluorine\python\PJ1\.venv\Scripts> $(Get-Item "signatures.txt").LastWriteTime = "1999/01/01 10:30:00"

上面的语句就是在修改”修改时间”戳.

最后发现这种办法又慢又麻烦,改回单线程了.

后来发现使用cmd直接跑python比pycharm跑python爬数据要快很多倍,原因未知.

<存疑>洛谷最神秘的用户

Fluu的爬虫没有处理异常,所以碰到这个特殊的用户直接15s超时结束程序了.
还好Fluu保存数据的形式是”每爬到一个用户就在文件末尾加一行”,不至于彻底裂开.

在讨论中,有人指出了洛谷有另一个神秘链接,点进去也会爆502.

这或许能开一期洛谷规则怪谈.

UPD20260129:问题疑似被修复,Fluu随机两个时间访问都返回”用户不可见或请先登录”.

会有下篇吗?

上文神秘用户讨论中,有人希望Fluu能爬一下团队名字.

UPD20260129:下篇来了,链接

数据下载

为防范麻瓜,AI和bot,你需要通过特别的人机验证才能获得下载链接.

具体地,你需要解答这个题目,找到flag(保证有解)并正确提交拿到这个题的后门(backdoor)字符串后,把后门字符串提交到这个页面来获得下载链接(听起来很麻烦,实际上只需要做一道题就行了).

本文数据包含:

  • 爬到的数据
  • 爬虫代码
  • 画图代码

为防范CS某N,Fluu不能分享博客的markdown文件.

特别注意:

  1. 由于爬自己的user值会额外返回realname,email,phone等敏感信息,Fluu对数据集中关于自己的部分数据做了一点必要的修改.
  2. 由于上文神秘用户的存在,Fluu跳过了这个用户,没有ta的数据.
  3. 由于前期测试多线程的时候收到了两个429,部分数据的顺序有点混乱,不过有uid,问题不大.
  4. 由于Fluu不卖课,私聊Fluu要数据是无效的.

后门字符串的生成方式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import secrets

charset = (
"abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"0123456789"
"`-=[]\\;',./"
"~!@#$%^&*()_+{}|:\"<>?"
)

length = 32

random_string = ''.join(secrets.choice(charset) for _ in range(length))
print(random_string)

FluuArchive

这是一个收集神秘小网页的repo,目前是周更,致力于收集可能对大家有所帮助的网页,比如小游戏,或有意义的网站等,欢迎提交issue描述你认为好玩或能有所收获的网页,博文等.

没有NSFW内容,但网站可能有广告,在所难免…

我有个想法…

Fluu很希望与你合作!直接私信NaraFluorine即可.

致谢

Chat-GPT(Code大神)
Gemini3-fast(Code大神)
GHL(Crypto大神)
neise1(PWN大神)
LawrenceSivan(测试了特殊的用户链接)
chaoson(提供情绪价值)
kkksc03(for the Luogu platform)
python(任劳任怨)
All of you(广大用户为Fluu提供数据来源,Fluu在此谢过了)