网易首页 > 网易号 > 正文 申请入驻

python爬取基金股票最新数据,并用excel绘制树状图

0
分享至

大家好,最近大A的白马股们简直跌妈不认,作为重仓了抱团白马股基金的养鸡少年,每日那是一个以泪洗面啊。

跌妈不认

不过从金融界最近一个交易日的大盘云图来看,其实很多中小股还是红色滴,绿的都是白马股们。

以下截图来自金融界网站-大盘云图:

2月26日大盘云图

那么,今天我们试着用python爬取最近交易日的股票数据,并试着用excel简单绘制上面这个树状图。

  • 爬取网易财经各板块股票数据
  • excel树状图
  • 简单的树状图
  • 带有增长率的树状图

一、爬取网易财经各板块股票数据

目标网址:

http://quotes.money.163.com/old/#query=hy010000&DataType=HS_RANK&sort=PERCENT&order=desc&count=24&page=0

网易财经-行情中心

由于这个爬虫部分比较简单,这里不做过多赘述,仅介绍一下思路并附上完整代码供大家参考。

爬虫思路:

请求目标网站数据,解析出主要行业(新)的数据:行业板块名称及对应id(如金融,hy010000)

根据行业板块对应id构造新的行业股票数据网页

由于翻页网址不变,代入参数,获取全部页数,然后翻页爬取全部数据

爬虫代码:

# -*- coding: utf-8 -*-"""Created Feb 28 10:30:56 2021@author: 可以叫我才哥"""import requestsimport reimport pandas as pd# 获取全部板块及板块idurl = 'http://quotes.money.163.com/old/#query=hy001000&DataType=HS_RANK&sort=PERCENT&order=desc&count=24&page=0'r = requests.get(url)html = r.text# 替换非字符为空,便于下面的正则html = re.sub('\s','',html)# 正则获取 板块及id所在区域labelHtml = re.findall(r'主要行业\(新\)(.*?)证监会行业\(新\)',html)[0]# 正则板块和id,结果为由元组组成的列表label = re.findall(r'"qid="(hy.*?)"qquery=.*?"title="(.*?)">',labelHtml)# 转化为dataframe类型dfLabel = pd.DataFrame(label,columns=['id','板块'])# 根据板块id和翻页获取页面数据(json格式)def get_json(hy_id, page): query = 'PLATE_IDS:' + str(hy_id) params={ 'host': 'http://quotes.money.163.com/hs/service/diyrank.php', 'page': page, 'query': query, 'fields': 'NO,SYMBOL,NAME,PRICE,PERCENT,UPDOWN,FIVE_MINUTE,OPEN,YESTCLOSE,HIGH,LOW,VOLUME,TURNOVER,HS,LB,WB,ZF,PE,MCAP,TCAP,MFSUM,MFRATIO.MFRATIO2,MFRATIO.MFRATIO10,SNAME,CODE,ANNOUNMT,UVSNEWS', #你可以不用这么多字段 'sort': 'PERCENT', 'order': 'desc', 'count': '24', 'type': 'query', } url = 'http://quotes.money.163.com/hs/service/diyrank.php?' r = requests.get(url,params=params) j = r.json() return j# 空列表用于存取每页数据dfs = []# 遍历全部板块for hy_id,板块 in dfLabel.values: # 获取页数 j = get_json(hy_id, 0) pages = j['pagecount'] for page in range(pages): j = get_json(hy_id, page) data = j['list'] df = pd.DataFrame(data) df['板块'] = 板块 dfs.append(df) print(f'已爬取{len(dfs)}个板块数据')result = pd.concat(dfs)

二、excel树状图

excel树状图是在office2016级之后版本中新加的图表类型,想要绘制需要基于此版本及之后的版本哦。

简单的树状图绘制流程:框选数据—>插入—>图表—>选中树状图 即可。

树状图绘制流程

以下图为例,在树状图中,每个色块代表一个省份,色块面积大小则由其GDP值大小决定。

2020年全国各地GDP

三、带有增长率的树状图

我们发现,在基础的树状图中,色块颜色除了区别色块之外并没有其他特殊含义。拿GDP来说,除了值之外我们一般也会去看其增长率,那么是否可以让色块颜色和增长率有关联呢?

下面我们试着探究一下,如果成功的话,那么金融界的大盘云图似乎也可以用excel树状图来进行绘制了不是!

1、思路:

我们希望色块颜色能代表增长率,比如红色是上涨,绿色是下降且颜色越深代表绝对值越大

再对每个色块进行对应的颜色填充即可

由于 树状图顶多支持多级,色块颜色也只能手动单一填充,怎么办呢?既然手动可以,那么其实就可以用VBA自动化这个过程咯。

2、增长率配色

基于上述思路,我们需要对增长率进行配色,最简单的就是用条件格式里的色阶。

框选增长率数据—>开始—>条件格式—>色阶(选中那个让值越大颜色越红的,由于这里有负增长率,所以选了带红绿的):

为了更好的展示区分正负增长率,我们在设置完色阶后再进行管理规则:

我们将中间值设为数字0,这样负增长率就是绿色,正增长率就是红色;

我们将最大值设置为百分点值80,也就是增长率前80%的值都是最红的。

最终配色效果:

配色效果

四、VBA填充色块颜色

先看效果:

湖北因为收到疫情影响最大,有接近小半年属于封省状态,全年增长率为负数。

各省GDP及增长率

由于条件格式下单元格颜色是不固定的无法通过vba获取,我们需要将颜色赋值到新的一列中去,需要用到如下操作:

选中增长率数据复制,然后点击剪切板最右下角会出现剪贴板,再鼠标左键选择需要粘贴的地方如E2,点击剪贴板中需要粘贴的数据即可。 这个时候,被粘贴的单元格区域的颜色就是固定的了,你可以选择删除数据只留颜色部分。

单元格色复制操作流程

VBA思路:

  • 激活需要操作的图表(Activate)
  • 遍历全部的系列和数据点(ActiveChart.FullSeriesCollection(1).Points.Count)
  • 从第一个数据点开始,获取对应增长率单元格颜色(ActiveSheet.Range("E" & i + 1).Interior.Color)
  • 将单元格赋值给该数据点(Selection.Format.Fill.ForeColor.RGB)

VBA代码:

Sub My_Color() ActiveSheet.ChartObjects("图表 1").Activate '遍历全部的数据点 For i = 1 To ActiveChart.FullSeriesCollection(1).Points.Count '选中数据点 ActiveChart.FullSeriesCollection(1).Points(i).Select '获取单元格颜色 MyColor = ActiveSheet.Range("E" & i + 1).Interior.Color '将单元格颜色赋值给对应数据点填充色 Selection.Format.Fill.ForeColor.RGB = MyColor Next

执行脚本过程如下:

好了,以上就是本次全部内容,大家可以试着爬取股票数据,然后试着绘制一下。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
厄瓜多尔足协:已向FIFA正式申诉,要求调查对墨西哥赛前争议事件

厄瓜多尔足协:已向FIFA正式申诉,要求调查对墨西哥赛前争议事件

懂球帝
2026-07-05 02:36:04
20架不够用,护航伊朗专机,一架歼10CE也没出动,F-16成了主角?

20架不够用,护航伊朗专机,一架歼10CE也没出动,F-16成了主角?

锋芒点兵
2026-06-30 17:51:28
今年高温时间大变!最热不在七月初,熬完20天就凉快了

今年高温时间大变!最热不在七月初,熬完20天就凉快了

华庭讲美食
2026-07-04 20:20:31
武汉会战就决定了日本赢不了,真正的关键不是日军死伤25万多个兵

武汉会战就决定了日本赢不了,真正的关键不是日军死伤25万多个兵

磊子讲史
2026-07-03 17:38:58
局势升级!美飞行员在亚洲遇害,英法德俄全沉默,特朗普或将派兵

局势升级!美飞行员在亚洲遇害,英法德俄全沉默,特朗普或将派兵

阿器谈史
2026-07-05 02:24:54
随着16强诞生,世界杯最新夺冠赔率出炉:阿根廷居第2

随着16强诞生,世界杯最新夺冠赔率出炉:阿根廷居第2

侧身凌空斩
2026-07-04 11:48:11
大家提前做好准备,2026年下半年开始,中国或将出现4大变化

大家提前做好准备,2026年下半年开始,中国或将出现4大变化

三农老历
2026-07-04 20:33:16
已是无人不晓!佛得角主帅6月底采访时说:希望我们回家时人们会记得,佛得角参加过这届世界杯

已是无人不晓!佛得角主帅6月底采访时说:希望我们回家时人们会记得,佛得角参加过这届世界杯

鲁中晨报
2026-07-04 10:50:03
12家A股公司中报预披露:最高净利飙升超150%,这些赛道暗藏暴富密码?

12家A股公司中报预披露:最高净利飙升超150%,这些赛道暗藏暴富密码?

Ping值焦虑
2026-07-05 00:36:08
发现没?身材高大、体态丰满的女人,大多命里带福6个特质藏不住

发现没?身材高大、体态丰满的女人,大多命里带福6个特质藏不住

新时代的两性情感
2026-06-21 12:31:35
7月开始中国或将迎来四大降价潮:除房价以外,这三类也要降价了

7月开始中国或将迎来四大降价潮:除房价以外,这三类也要降价了

青田花姑娘
2026-07-04 19:37:06
著名主持人曹可凡2026年7月2号观看电影《抓特务》之后写影视评论

著名主持人曹可凡2026年7月2号观看电影《抓特务》之后写影视评论

晓今娱
2026-07-03 09:02:45
嫁法国老头真相大白后,41岁李宇春近况曝光,一点都不感到意外

嫁法国老头真相大白后,41岁李宇春近况曝光,一点都不感到意外

李侽在北漂
2026-06-28 18:23:13
哈梅内伊遗体告别仪式上,伊朗议长哭到身体不停颤抖,穆杰塔巴未出席,其岳父现身仪式

哈梅内伊遗体告别仪式上,伊朗议长哭到身体不停颤抖,穆杰塔巴未出席,其岳父现身仪式

极目新闻
2026-07-04 13:39:08
豆包与通义千问同日下线智能体,释放了什么信号?

豆包与通义千问同日下线智能体,释放了什么信号?

A活着
2026-07-04 16:53:07
傅作义在北平和平起义后,和他一同起义的4位军长后来结局如何?

傅作义在北平和平起义后,和他一同起义的4位军长后来结局如何?

饭小妹说历史
2026-06-05 09:38:52
心理学:当一个很老实的员工开始顶撞领导,不是他飘了、目中无人了,而是发现了领导的无能,只会乱安排工作,出事也只会甩锅

心理学:当一个很老实的员工开始顶撞领导,不是他飘了、目中无人了,而是发现了领导的无能,只会乱安排工作,出事也只会甩锅

心理观察局
2026-07-04 06:41:16
梅西告诉绯闻女记者索菲亚:我看你一眼,人们都要问个底朝天

梅西告诉绯闻女记者索菲亚:我看你一眼,人们都要问个底朝天

阿废冷眼观察所
2026-07-04 18:04:39
小鹏疑似更换代言人,唇上一颗痣引发网友热议

小鹏疑似更换代言人,唇上一颗痣引发网友热议

东方不败然多多
2026-07-04 14:02:14
中国女排好消息!李盈莹归队,大巴车上晒合照,有望第三站亮相

中国女排好消息!李盈莹归队,大巴车上晒合照,有望第三站亮相

跑者排球视角
2026-07-04 15:30:19
2026-07-05 05:07:00
数据分析不是个事儿
数据分析不是个事儿
专注数据分析领域
985文章数 10477关注度
往期回顾 全部

科技要闻

韬定律论文V2版,充工程细节和实测数据

头条要闻

老人被一次拔12颗牙种10颗:能刷的钱都刷走 只剩30块

头条要闻

老人被一次拔12颗牙种10颗:能刷的钱都刷走 只剩30块

体育要闻

揭法国锋线最大优势 有人比姆巴佩还快?

娱乐要闻

白鹿打戏抠图惹非议 连累丞磊遭扒皮

财经要闻

韩国股市杠杆失控:450亿美元资金狂飙

汽车要闻

方程豹钛9内饰曝光 用上了长联屏设计/下半年上市

态度原创

教育
房产
旅游
健康
家居

教育要闻

两个孩子拾金不昧,没想到换来全套练习题

房产要闻

总裁空缺17个月、现金缺口超1000亿:金融局“局外人”入局万科

旅游要闻

来过玉溪灵照山才懂,不用远赴远方,家门口就藏着千年的山水禅意

听说少吃点能抗衰老?专家讲解!

家居要闻

传奇筑 日常诗

无障碍浏览 进入关怀版