最近在玩爬虫,先放一个B站各二级分区的视频数量统计脚本
Github:https://gist.github.com/WuSiYu/847a468fbb62874d863a50c55c2101a6
截止文章更新时的数据(2018-07-26):
1: 动画 24:MAD·AMV 视频数 = 237037 25: MMD·3D 视频数 = 286253 47: 短片·手书·配音 视频数 = 134351 27: 综合 视频数 = 400319 13: 番剧 33: 连载动画 视频数 = 25417 32: 完结动画 视频数 = 16342 51: 资讯 视频数 = 14179 152: 官方延伸 视频数 = 87700 167:国创 153: 国产动画 视频数 = 11638 168: 国产原创相关 视频数 = 56066 169: 布袋戏 视频数 = 18004 170: 资讯 视频数 = 2813 3: 音乐 28: 原创音乐 视频数 = 25568 31: 翻唱 视频数 = 389256 30: VOCALOID·UTAU 视频数 = 146718 59: 演奏 视频数 = 275273 29: 三次元音乐 视频数 = 435277 54: OP/ED/OST 视频数 = 55044 130: 音乐选集 视频数 = 464374 129:舞蹈 20: 宅舞 视频数 = 124956 154: 三次元舞蹈 视频数 = 132236 156: 舞蹈教程 视频数 = 12381 4: 游戏 17: 单机联机 视频数 = 2575433 171: 电子竞技 视频数 = 1125988 172: 手机游戏 视频数 = 1090576 65: 网络游戏 视频数 = 1481897 173: 桌游棋牌 视频数 = 173554 121: GMV 视频数 = 70994 136: 音游 视频数 = 186184 19: Mugen 视频数 = 48716 36:科技 124: 趣味科普人文 视频数 = 225165 122: 野生技术协会 视频数 = 206091 39: 演讲· 公开课 视频数 = 264381 96: 星海 视频数 = 68729 95: 数码 视频数 = 227037 98: 机械 视频数 = 83445 176: 汽车 视频数 = 110731 160:生活 138: 搞笑 视频数 = 367800 21: 日常 视频数 = 1325202 76: 美食圈 视频数 = 367535 75: 动物圈 视频数 = 320371 161: 手工 视频数 = 164167 162: 绘画 视频数 = 148553 175: ASMR 视频数 = 12 163: 运动 视频数 = 285217 174: 其他 视频数 = 438994 119:鬼畜 22: 鬼畜调教 视频数 = 76198 26: 音MAD 视频数 = 40437 126: 人力VOCALOID 视频数 = 18340 127: 教程演示 视频数 = 754 155:时尚 157: 美妆 视频数 = 260127 158: 服饰 视频数 = 78249 164: 健身 视频数 = 42877 159: 资讯 视频数 = 41470 165:广告 166: 广告 视频数 = 93370 5: 娱乐 71: 综艺 视频数 = 403683 137: 明星 视频数 = 934160 131: Korea相关 视频数 = 703781 181:影视 182: 影视杂谈 视频数 = 117564 183: 影视剪辑 视频数 = 954530 85: 短片 视频数 = 111317 184: 预告 资讯 视频数 = 134911 86: 特摄 视频数 = 42765 放映厅: 177:纪录片 37: 人文历史 视频数 = 53559 178: 科学探索 视频数 = 20429 179: 热血军事 视频数 = 6769 180: 舌尖上的旅行 视频数 = 19724 23:电影 147: 华语电影 视频数 = 2902 145: 欧美电影 视频数 = 493 146: 日本电影 视频数 = 45 83: 其他国家 视频数 = 85 11: 电视剧 185: 国产剧 视频数 = 5311 187: 海外剧 视频数 = 371
脚本代码:
#!/usr/bin/env python3
'''
Bilibili 各分区视频数量查询脚本
作者: WuSiYu(wu.siyu@hotmail.com)
日期: 2018-07-26 00:54
本脚本参考了uupers团队的研究: https://github.com/uupers/BiliSpider/wiki
'''
from urllib import request
import json
ALL_RID = (12, 15, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 37, 39, 41, 46, 47, 50, 51, 53, 54, 56, 59, 60, 65, 67, 71, 74, 75, 76, 77, 79, 80, 82, 83, 85, 86, 94, 95, 96, 98, 114, 116, 118, 120, 121, 122, 124, 125, 126, 127, 128, 130, 131, 134, 135, 136, 137, 138, 139, 141, 145, 146, 147, 152, 153, 154, 156, 157, 158, 159, 161, 162, 163, 164, 166, 168, 169, 170, 171, 172, 173, 174, 175, 176, 178, 179, 180, 182, 183, 184, 185, 187)
videoCounts = {}
regionCount = len(ALL_RID)
i = 1
for rid in ALL_RID :
print('Getting data form bilibili... (' + str(i) + '/' + str(regionCount) + ')', end="\r")
apiURL = 'http://api.bilibili.com/x/web-interface/newlist?ps=1&pn=1&rid=' + str(rid)
req = request.Request(apiURL)
req.add_header('User-Agent', 'Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0')
f = request.urlopen(req)
data = json.loads( f.read() )
videoCounts[rid] = data['data']['page']['count']
i += 1
print('Getting data form bilibili... done ')
print('''
1: 动画
24:MAD·AMV \t\t视频数 = ''' + str( videoCounts[24] ) + '''
25: MMD·3D \t\t视频数 = ''' + str( videoCounts[25] ) + '''
47: 短片·手书·配音 \t视频数 = ''' + str( videoCounts[47] ) + '''
27: 综合 \t\t视频数 = ''' + str( videoCounts[27] ) + '''
13: 番剧
33: 连载动画 \t\t视频数 = ''' + str( videoCounts[33] ) + '''
32: 完结动画 \t\t视频数 = ''' + str( videoCounts[32] ) + '''
51: 资讯 \t\t视频数 = ''' + str( videoCounts[51] ) + '''
152: 官方延伸 \t\t视频数 = ''' + str( videoCounts[152] ) + '''
167:国创
153: 国产动画 \t\t视频数 = ''' + str( videoCounts[153] ) + '''
168: 国产原创相关 \t视频数 = ''' + str( videoCounts[168] ) + '''
169: 布袋戏 \t\t视频数 = ''' + str( videoCounts[169] ) + '''
170: 资讯 \t\t视频数 = ''' + str( videoCounts[170] ) + '''
3: 音乐
28: 原创音乐 \t\t视频数 = ''' + str( videoCounts[28] ) + '''
31: 翻唱 \t\t视频数 = ''' + str( videoCounts[31] ) + '''
30: VOCALOID·UTAU \t视频数 = ''' + str( videoCounts[30] ) + '''
59: 演奏 \t\t视频数 = ''' + str( videoCounts[59] ) + '''
29: 三次元音乐 \t视频数 = ''' + str( videoCounts[29] ) + '''
54: OP/ED/OST \t\t视频数 = ''' + str( videoCounts[54] ) + '''
130: 音乐选集 \t\t视频数 = ''' + str( videoCounts[130] ) + '''
129:舞蹈
20: 宅舞 \t\t视频数 = ''' + str( videoCounts[20] ) + '''
154: 三次元舞蹈 \t视频数 = ''' + str( videoCounts[154] ) + '''
156: 舞蹈教程 \t\t视频数 = ''' + str( videoCounts[156] ) + '''
4: 游戏
17: 单机联机 \t\t视频数 = ''' + str( videoCounts[17] ) + '''
171: 电子竞技 \t\t视频数 = ''' + str( videoCounts[171] ) + '''
172: 手机游戏 \t\t视频数 = ''' + str( videoCounts[172] ) + '''
65: 网络游戏 \t\t视频数 = ''' + str( videoCounts[65] ) + '''
173: 桌游棋牌 \t\t视频数 = ''' + str( videoCounts[173] ) + '''
121: GMV \t\t视频数 = ''' + str( videoCounts[121] ) + '''
136: 音游 \t\t视频数 = ''' + str( videoCounts[136] ) + '''
19: Mugen \t\t视频数 = ''' + str( videoCounts[19] ) + '''
36:科技
124: 趣味科普人文 \t视频数 = ''' + str( videoCounts[124] ) + '''
122: 野生技术协会 \t视频数 = ''' + str( videoCounts[122] ) + '''
39: 演讲· 公开课 \t视频数 = ''' + str( videoCounts[39] ) + '''
96: 星海 \t\t视频数 = ''' + str( videoCounts[96] ) + '''
95: 数码 \t\t视频数 = ''' + str( videoCounts[95] ) + '''
98: 机械 \t\t视频数 = ''' + str( videoCounts[98] ) + '''
176: 汽车 \t\t视频数 = ''' + str( videoCounts[176] ) + '''
160:生活
138: 搞笑 \t\t视频数 = ''' + str( videoCounts[138] ) + '''
21: 日常 \t\t视频数 = ''' + str( videoCounts[21] ) + '''
76: 美食圈 \t\t视频数 = ''' + str( videoCounts[76] ) + '''
75: 动物圈 \t\t视频数 = ''' + str( videoCounts[75] ) + '''
161: 手工 \t\t视频数 = ''' + str( videoCounts[161] ) + '''
162: 绘画 \t\t视频数 = ''' + str( videoCounts[162] ) + '''
175: ASMR \t\t视频数 = ''' + str( videoCounts[175] ) + '''
163: 运动 \t\t视频数 = ''' + str( videoCounts[163] ) + '''
174: 其他 \t\t视频数 = ''' + str( videoCounts[174] ) + '''
119:鬼畜
22: 鬼畜调教 \t\t视频数 = ''' + str( videoCounts[22] ) + '''
26: 音MAD \t\t视频数 = ''' + str( videoCounts[26] ) + '''
126: 人力VOCALOID \t视频数 = ''' + str( videoCounts[126] ) + '''
127: 教程演示 \t\t视频数 = ''' + str( videoCounts[127] ) + '''
155:时尚
157: 美妆 \t\t视频数 = ''' + str( videoCounts[157] ) + '''
158: 服饰 \t\t视频数 = ''' + str( videoCounts[158] ) + '''
164: 健身 \t\t视频数 = ''' + str( videoCounts[164] ) + '''
159: 资讯 \t\t视频数 = ''' + str( videoCounts[159] ) + '''
165:广告
166: 广告 \t\t视频数 = ''' + str( videoCounts[166] ) + '''
5: 娱乐
71: 综艺 \t\t视频数 = ''' + str( videoCounts[71] ) + '''
137: 明星 \t\t视频数 = ''' + str( videoCounts[137] ) + '''
131: Korea相关 \t视频数 = ''' + str( videoCounts[131] ) + '''
181:影视
182: 影视杂谈 \t\t视频数 = ''' + str( videoCounts[182] ) + '''
183: 影视剪辑 \t\t视频数 = ''' + str( videoCounts[183] ) + '''
85: 短片 \t\t视频数 = ''' + str( videoCounts[85] ) + '''
184: 预告 资讯 \t视频数 = ''' + str( videoCounts[184] ) + '''
86: 特摄 \t\t视频数 = ''' + str( videoCounts[86] ) + '''
放映厅:
177:纪录片
37: 人文历史 \t\t视频数 = ''' + str( videoCounts[37] ) + '''
178: 科学探索 \t\t视频数 = ''' + str( videoCounts[178] ) + '''
179: 热血军事 \t\t视频数 = ''' + str( videoCounts[179] ) + '''
180: 舌尖上的旅行 \t视频数 = ''' + str( videoCounts[180] ) + '''
23:电影
147: 华语电影 \t\t视频数 = ''' + str( videoCounts[147] ) + '''
145: 欧美电影 \t\t视频数 = ''' + str( videoCounts[145] ) + '''
146: 日本电影 \t\t视频数 = ''' + str( videoCounts[146] ) + '''
83: 其他国家 \t\t视频数 = ''' + str( videoCounts[83] ) + '''
11: 电视剧
185: 国产剧 \t\t视频数 = ''' + str( videoCounts[185] ) + '''
187: 海外剧 \t\t视频数 = ''' + str( videoCounts[187] ) + '''
''')
还可以更新吗?