# B站up主信息爬取

https://pypi.org/project/filestools/

pip install filestools -U

curl2py

from curl2py.curlParseTool import curlCmdGenPyScript

curl_cmd = """xxx"""
output = curlCmdGenPyScript(curl_cmd)
print(output)

import os

file = "b站up主粉丝量top10万.csv"
df.to_csv(file, index=False, mode='a',

# 数据分析

## 数据读取与预处理

import pandas as pd

names = ["名称", "性别", "签名", "视频数量","粉丝数",
"播放数", "点赞数", "总充电人数", "月充电人数",
"生日", "category1", "category2", "tags"]
2, 3, 5]+list(range(9, 16))+[22, 23, 24], header=0, names=names, low_memory=False)
df.drop_duplicates(inplace=True)
df.sort_values("粉丝数", ascending=False, inplace=True)
df

df = df[~df.名称.str.contains('哔哩哔哩')]
df.shape[0]
99955

df = df.query("粉丝数>=10000")
df.shape[0]
59287

df.粉丝数 //= 10000

df["粉丝数范围"] = pd.cut(df.粉丝数, bins=[1, 10, 50, 100, 2000],
labels=["万粉", "百万前期","百万后期", "百万粉"], right=False)

## 做什么类别的up主更多一些？

df.category1.value_counts()

Name: category1, dtype: int64

t = pd.crosstab(df.category1, df.粉丝数范围)

## 性别差异是否会影响成为万粉up的概率？

df.性别.value_counts()

Name: 性别, dtype: int64

t = pd.crosstab(df.粉丝数范围, df.性别)
t = t.eval("男女比=男/女")

## 万粉UP主视频数量分布分析

df.视频数量.describe()
count     59167.000000
mean        258.358713
std        1379.662258
min           0.000000
25%          38.000000
50%          89.000000
75%         213.000000
max      180033.000000
Name: 视频数量, dtype: float64

df.query("视频数量 > 10000")

df.query("视频数量 == 0")

df.query("视频数量 == 0 and 播放数==0")

t = df.groupby("粉丝数范围")["视频数量"].apply(lambda s: s.describe()).unstack(0)

## up主生日分布情况

df.生日.str[:2].value_counts()
01    7620
10    2636
12    2453
08    2426
11    2391
09    2273
07    2239
06    2203
05    2180
03    2170
02    2151
04    2047
Name: 生日, dtype: int64

t = pd.crosstab(df.粉丝数范围, df.生日.str[:2])

# 百万粉丝up主的昵称生成器

df = df.query("粉丝数 >= 100")
df.shape[0]
658

name_size = df.名称.apply(len)
4     158
5     131
3      88
7      70
6      70
8      50
9      27
10     16
2      16
11     12
Name: 名称, dtype: int64

import jieba

# 分词并扩展提取
names = df.名称.apply(jieba.lcut).explode()
# 过滤长度小于等于1的词并去重
names = names[names.apply(len) > 1].unique()
print(names.shape[0], names)
1068 ['罗翔' '刑法' '番茄' ... '布锅' '伦桑爱' '唱歌']

"".join(np.random.choice(names, 2))
'张逗麦克'

## JavaScript版百万粉丝昵称生成器

var items = ['罗翔', '刑法', '番茄', '敬汉卿', '共青团中央', '周六', 'Zoey', '凉风', 'Kaze', '绵羊', '料理', '李子', '老师', '叫何', '同学', '厂长', '木鱼', '水心', '中国', 'BOY', '超级', '大猩猩', 'LexBurner', '观察者', '杰瑞', '某幻君', '央视', '新闻', '原神', 'papi', '大虾', '指法', '芬芳', '张大', '小潮', '院长', '华农', '兄弟', '记录', '生活', '蛋黄派', '伊丽莎白', '暴走', '漫画', '帕梅拉', 'PamelaReif', '硬核', '半佛', '仙人', '美食', '作家', '王刚', '渗透', '社食', '遇记', '日食', '手工', '花少北', '机智', '党妹', '逍遥散', '无穷小', '科普', '日常', '兔叭', '三代', '大祥', '哥来', '花椒', '片片', '大片', '宝宝', 'Baby', '信誓', '蛋蛋', '张召忠', '毕导', 'THU', '纳豆', '奶奶', '一旦', '枯燥', '翔翔', '作战', '三十六', '贱笑', '徐大', 'sao', '泛式', '果仁', '研究', '协会', '拜托', '小翔哥', '努力', 'Lorre', '东尼', 'ookii', '明日', '方舟', '思维', '实验室', '视频', '工作室', '大漠', '叔叔', '阿斗', '归来', '电影', 'TOP', '吃饭', '大王', '刘老师', '逗比', '雀巢', '科技', '美学', '柚子', '字幕组', '镖客', '梦回', '宝剑', '咬人', '孤独', '大腿', '做饭', '芋头', 'SAMA', '黑猫', '厨房', 'po', '纯黑', '吃素', '狮子', '花花', '三猫', 'CatLive', '蜡笔', '小勋', '欣小萌', '李永乐', '官方', '瓶子', '152', 'EdmundDZhang', '嘟督', '不噶油', '排骨', '教主', '才疏学浅', 'yousa', '力元君', '老爸', '评测', '音乐', '私藏', '密子君', '所长', '林超', '崩坏', '第一', '偶像', '爱酱', '毒角', 'SHOW', '回形针', 'PaperClip', '远古时代', '装机', 'TF', '家族', '视角', '冯提', 'hanser', '王者', '荣耀', '新华社', '路人', '局长', '小高姐', '魔法', '调料', '巫师', '财经', 'Warma', '影视', '飓风', '神奇', '木偶', '山下', '智博', '罗汉', '解说', '温柔', 'JUNZ', '姜峰', '真的', '猛男', '舞团', 'IconX', 'YouTube', '听力', '精选', '洛天', '一条', '团团', 'OvO', '盖世', '猪猪', '迷影社', '阿莫', '老皮', 'VFX', '陈睿', '大碗', '老坛', '胡说', '英雄', '联盟', '哲别', '黑桐', '谷歌', '火暴', '王老菊', '开心', '嘴炮', '凤凰', '天使', 'TSKS', '剧社', '账号', '0v0', 'TheRock', 'Johnson', '天天', '卡牌', '手游', '智能', '路障', '疯狂', '杨哥', '鹤吱菌', '文哥', '小艾', '大叔', '韩小四', 'April', '历史', '调研室', '拉宏桑', 'CSGO', '茄子', '虫哥', '文不', '小白', '测评', '倒悬', '橘子', '小贝', '进击', '曼食', '慢语', '公主', '连结', 'ReDive', '枪弹', '轨迹', '孝警', '阿特', 'wlop', '建业', '黄龄', 'TESTV', '频道', '女孩', '为何', '短裙', 'LKs', '怪异', '墨韵', 'Moyun', '神秘', '店长', '贫道', 'AG', '超玩会', '梦泪', '芒果', 'OL', '不正经', '老丝', '1MILLION', 'OFFICIAL', '路温', '1900', 'Uzi', '夹性', '芝士', '见见', 'Zz', '犬来', '八荒', '卡特', '一刀', '有毒', '邪说', '鲲哥', '数学', '星河', 'Yoseya', '斯塔', '奇闻', '观察室', '一只', '小仙', '水无月菌', '英语', '波士顿', '圆脸', '薄海纸', '尼玛', 'zettaranc', '卡布', '周深', '自来', '三木', '直播', '小喇叭', '三无', 'Marblue', '张三', '传奇一生', '胖胖', '墨茶', 'Official', '老戴', '正义', '雕刻', '时光', '客湾', 'Geekerwan', '棉花', '哥哥', 'low', '君热剧', 'Vinheteiro', '海皇', 'vivi', '可爱多', 'doyoudo', '趣测', '口语', '老炮', '儿马', '思瑞', '考研', '刘晓艳', '沈逸', '靖菌命', '里德', 'Jared', 'nya', '一生', '欧阳', '春晓', 'Aurora', '谭乔', '命运', '冠位', '指定', '花泽', '香菜', '小央', '阿幕', '降临', '壮实', 'Hera', '样子', '平平', 'soserious', '吃货', '闭眼', '老板', '长工', '叔贵', 'EyeOpener', '贝尔', '格里尔', '文西', '阿漆', '宋浩', '痴鸡', '小队', '大庆', '赶海', '野食', '小哥', '小米', '公司', '山药', '雨哥', '到处跑', '油兔', '不二', 'KBShinya', '姚姚', '不是', 'P30', '七奈', '泽野', '螳螂', '楼上', '老张', 'STN', '还有', '一天', '放假', '清华大学', '阿巳', '铃铛', '很多', '小姐姐', '战双', '帕弥什', '鹿乃', '逆风', '烟斗', '终极', '小腾', '特效', 'studio', '鲁大能', '姜云升', '超果果', 'mc', '盒子', '酸奶', '逗川', 'kshadow', '多多', 'poi', 'oeasy', '祖娅', '纳惜', 'Steam', '特惠', '刘谦', '上班族', '便当', '上海滩', 'Van', '星有野', '不愧', '姐姐', '大人', '娜娜', 'Nana', '文曰', '小强', '碧蓝', '航线', '粤知', '一二', '大橙橙', '橙子', '潮汕', '男人', '陈翔', '六点半', '阿漫', '封茗', '苏星河', '牛通', 'Big', '工坊', '中国日报', 'Kevin', '情报局', '画渣', '网易', '第五', '人格', 'Vicky', '宣宣', 'CCheny6', '鉴宝', '冷淡', '国家', '地理', '大象', '放映室', 'Animenzzz', '萧忆情', 'Alex', '狂风', '肉肉', '搜索', '你们', '康康', '钟文泽', '打泥', '一数', 'Feifei', '闫帅', '混乱', '博物馆', '坎公骑', '冠剑', '田野', '繁荣', '神话', '悟空', '印象', '二次元', '中科院', '物理所', 'Vivekatt', '小约翰', '可汗', '唯一', '魔王', '双笙子', '制作', 'Kurt', 'NathanRich', '火锅', '波桑吃遍', '世界', '克里米亚', '野生', '动物园', '理理', '理子', '长得', '博主', '女人', '社长', 'OELoop', '一大', '浑元', 'Rysn', '乌合', '麒麟', '燕子', 'BBQ', '学徒', 'Ray', '阿福', 'Thomas', 'NBzhuoc', '乌鸦', '校尉', 'CaptainWuya', '丸子', '叨叨', '燃茶', '李佳琦', 'Austin', '草莓', '西瓜', 'JUN', '阴阳师', '广东', '共青团', '知心', '光影', '笔墨', '活蹦乱跳', '肥曈', 'PS', '教程', '免费', 'ilem', '周淑怡', '守护', '茶茶', '品诺', '开课', '程十安', 'an', '冒险', '探长', '丰兄来', '碰碰', '彭碰', '光遇', '王骁', 'Albert', '广西', '恩师', '老骚', '豆腐', '柠檬', '奇幻', '漂流', '抽风', 'Crazy', '人类', '行为', '图鉴', 'IC', '黑椒', '墨鱼', '狂阿弥', '小缸', '阿灿', '鲁过', '一世', '陆夫人', '公孙', '田浩', '沉默寡言', '白河愁', '达达', '达布', 'PDD', '隔壁', '会长', '客匠', 'App', '赖皮', '猴爱', 'kei', 'marin', '知日酱', '小熊', '绅士', '紧张', '虫虫', '柴犬', '老饭', '张喜喜', '满汉全席', '团队', '大胡子', '森纳映', '重生', '细胞', '十音', 'Shiyin', '某布君', '面筋', '书林', '天堂', '冲浪', '普拉斯', '少年', '五之歌', '极速', '拍档', '鲤鱼', 'Ace', '导演', '小策', '主厨', '农国栋', '舞小', '孙笑川', '258', 'Zc', '目录', '松浦文', 'SPWZ', '社長', '无敌', '皮皮', '心灵', '侦探', '明柏辰', '千户', '长生', 'yoyo', '鹿鸣', 'Lumi', '飞碟', 'gagako', '青莲', '失利', '席拉瑞丝', '暴躁', 'JUMP', '哇哇', '哇妹', '澤野弘', 'nZk', 'Minecraft', '国电', '武术馆', '馆长', '雪峰', '调查', '游戏', '动力', 'VGN', '白醋', '少女', 'wuli', '小周', '轩子', 'KB', '空耳狂', '豪言', '经理', 'TED', '演讲', '吉原', '悠一', 'yui', '阿狸', '宣森', '付曦冉', 'AIChannel', '3Blue1Brown', '微课', 'Test', '正经', '比比', '大师', '木源', '评君', '四季', '萌芽', '腾讯', '动漫', '轩墨', '矮油', '王老六', 'steam', '牛叔', '万岁', '万万岁', '红豆', '稀饭', '齐天大', '肾余', '潇洒', '吴织', '亚切', '忽悠', '无聊', '开箱', '一花', '--', '圈圈', '路路', '迷路', '十二', 'pandapia', '人民网', '陈子', 'EX', '吟游', '诗人', '基德', '评测室', 'QAQ', '涼子', 'BML', '指挥部', '福乐', 'cry', '小仙爷', '龙女', '之声', '刀剑', '神域', '黑衣', '剑士', '王牌', 'lana', '纠结', '杨真直', '大佬', 'er', '小可', '玩酱', 'YCC', '小狼', 'XF', '史图馆', '园长', '绝不', '早到', '吱吱', '肌肉', '妮可', '蹦蹦', '狙击手', '麦克', '奶糕', '成精', '档案', '备胎', '说车', '突击手', '不了', '夏一', '就是', '画画', '梨涡', 'mini', '鬼叔', '怪谈', '大司马', '豆蔻', '网不红', '萌叔', 'Joey', 'Youtube', '中文字幕', '取景框', '奥地利', '山新', '大家', '芜湖', '环球时报', '底层', '原理', '波波', 'Brian', '紫菜', '蛋花', '兔兔', '澳洲', '阿彭', '知识', '司马南', 'OldBa1', '晓凯', '央视网', '小苏', '一块', '电鹿板', '空卡', '空空', 'DingTalk', '卢克文', '金灿荣', '君说', '星悦', '小美女', 'PKU', '汤家凤', '王大境泽', '阿银', '塑料', 'FOKU', '雷军', '主播', '蛋白', '小猪', 'zzreal', '小桑菜奈', '马克', 'Sparrow', '先看', '天才', '小熊猫', '本人', '谷谷', '永不', '咕咕', '橙心', '资讯', '结巴', '老爹', '泪腺', '战士', '赛雷', '三分钟', '艾伦', 'Alan', '尹正', '华为', '终端', '抖抖', '比目鱼', '萝王', '无情', '皮科', '医生', '魏小博', '小庄', '发布会', '一之濑', 'asuka', '酒客', '小丑', '凌识', '面粉', 'MayTree', '五月', 'PuFF', '大胖', '软软', '酸酸', '浅澄', '黑马', '程序员', '传奇', 'Sam', '香香', '小泡', '郎朗', 'AndrewCap', '小漫', '政治', '徐涛', '巫托邦', '南云', '鸟羽', '33', '果子', '小黑', '战记', '平行', 'oooooohmygosh', '小缘', '简史', '轩邈', 'Elias', '四月', '生日', '纪录片', '国仁', '全球', '大学堂', '浙江', '某声悠', '酒痴东', 'SXP', '基金会', '什么', '溫暖', '冷风', '稚晖', '人民日报', '留学生', '日报', 'KatAndSid', '总裁', '德云', 'Televison', '初音', '未来', 'Crypton', '体态', '深夜', 'T1', 'Faker', '硬件', '茶谈', '一鹿', '有车', '花二', 'Strange', 'dc008', '暗猫', '祝福', 'GM', '秘密', '基地', '郭云', '爱否', 'FView', '老爷爷', 'AlanWalker', '李玉刚', '鸡胸肉', '大连', '老湿王', '博文', '钢铁', '直男必', '菜菜', '日记', '了不起', '八万', '二饼', '大大', '灯泡', '武当', '陈师行', '任性', 'KIMKILLS', 'Chimera', '不良', '博士', '老哥', '槐安', '遗梦', '仲尼', 'Johnny777', '窝头', '暴脾气', '猫店', '深海', '色带', '陈平', '眉山', '论剑', '当归', '目洋子', '聊点', '维他', '乐乐', '课堂', '好运', '一米', '卧龙', 'Ksr', 'notyour', 'FM', '一元', '胖次', '狐狸', '不齐', '思妇', '韭菜', '赤焰', '男孩', '银临', '音阙', '马蹄', '北京大学', 'JKAI', '杰凯', '植物', '特别', '中二', 'q3', '尤超白', '波靖', 'CCTV', '宝藏', '联想', '拯救', '彭酱', 'LINYA', '一丁', 'Dingslook', '清华', '数学系', '葉子', '先生', '甘子', 'vansamaofficial', '本尼', '阿三', '一脸', '毛蛋', '北京', '青年', '凉子', '访谈录', '张逗', '张花', 'Super', '也好', '翠花', '不太脆', '红色', '激情', '郝给力', '涛哥', '布锅', '伦桑爱', '唱歌']

items[Math.floor(Math.random()*items.length)]+items[Math.floor(Math.random()*items.length)]

THE END