前几天看到一个有意思的榜单“中国胡润百富榜单”,今年是胡润研究院自1999年以来连续第23次发布“胡润百富榜”,上榜门槛连续第九年保持20亿元。今天带大家分析看看中国都有哪些大牛!
数据来源:https://www.hurun.net/zh-CN/Rank/HsRankDetails?pagetype=rich
打开页面如下
我们需要采集前 2000 名榜单人员的基本信息,分析过程十分简单:F12
打开开发者工具。CTRL + R
刷新页面,就可以看到抓到的数据包。
https://www.hurun.net/zh-CN/Rank/HsRankDetailsList?num=YUBAO34E&search=&offset=0&limit=20
采集的链接中包含两个主要参数,
offset
:0,页码limit
:20,限制数据量最多 20 条代码抓取的的时候暴力点,直接设置 limit=2000
,即一次请求 2000 条用户数据,不用分页请求,思路有了,开始撸代码!
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36'
}
params = {
'num': 'YUBAO34E',
'offset': 0,
'limit': 2000
}
url = 'https://www.hurun.net/zh-CN/Rank/HsRankDetailsList'
page_text = requests.get(url=url, headers=headers, params=params).json()
page_text
有数据输出,并且数据量看起来也没问题,下一步开始解析需要的字段。代码较多这里就不展示了,文末有完整源码获取方式
!
由于数据包中的信息确实较多,我只提取了部分需要的字段,大致如下:
由于后面需要做地图,需要省份信息,所以对出生地字段切割一下,将省份提取出来,图片字段同样也要做一些处理,主要是由于我用 Tableau
做图的原因,如果大家可视化方式不同,完全可以跳过这一步!
df['birth_place_split'] = df['birth_place'].str.split('-')
df['birth_place_split'] = df['birth_place_split'].apply(lambda x:'' if len(x) == 1 else x[1])
df['photo_split'] = df['photo'].apply(lambda x:x.split('/')[-1])
df.head()
可视化工具:Tableau 2021.3
。
由于平时不怎么关注这些内容,第一次看这个结果竟发现前十的只认识 5、6 个。我一直还以为首富应该是“两马”中的一个,现在一看确实是我跟不少时代了。。
榜单上的 74% 大佬年龄分布在45~70岁之间,其中58岁的有125人,大部分都是中年。
热门产业主要还是房地产、投资、医药、食品、化工等,确实都是大佬们玩的东西。
最后做个汇总性的看板,加点联动效果。