Python采集股票数据并制作可视化柱状图


Posted in Python onApril 04, 2022

前言

嗨喽!大家好呀,这里是魔王~

雪球,聪明的投资者都在这里 - 4300万投资者都在用的投资社区,

沪深港美全球市场实时行情,股票基金债券免费资讯,与投资高手实战交流。

模块使用

requests >>> pip install requests (数据请求 第三方模块)

re # 正则表达式 去匹配提取数据

json

pandas

pyecharts

开发环境

Python 3.8 解释器

Pycharm 2021.2 版本

代码实现步骤

  • 发送请求 访问网站
  • 获取数据
  • 解析数据(提取数据)
  • 保存数据
  • 做柱状图 简单的可视化

代码

# 1. 发送请求 访问网站
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}

url = 'https://xueqiu.com/service/v5/stock/screener/quote/list?page=1&size=30&order=desc&order_by=amount&exchange=CN&market=CN&type=sha&_=1641730868838'

response = requests.get(url=url, headers=headers)

# 2. 获取数据
json_data = response.json() 

# 3. 数据解析(筛选数据)
data_list = json_data['data']['list']
for data in data_list:
    data1 = data['symbol']
    data2 = data['name']
    data3 = data['current']
    data4 = data['chg']
    data5 = data['percent']
    data6 = data['current_year_percent']
    data7 = data['volume']
    data8 = data['amount']
    data9 = data['turnover_rate']
    data10 = data['pe_ttm']
    data11 = data['dividend_yield']
    data12 = data['market_capital']
    print(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12)
    data_dict = {
        '股票代码': data1,
        '股票名称': data2,
        '当前价': data3,
        '涨跌额': data4,
        '涨跌幅': data5,
        '年初至今': data6,
        '成交量': data7,
        '成交额': data8,
        '换手率': data9,
        '市盈率(TTM)': data10,
        '股息率': data11,
        '市值': data12,
    }
    csv_write.writerow(data_dict)

4. 保存地址
file = open('data2.csv', mode='a', encoding='utf-8', newline='')
csv_write = csv.DictWriter(file, fieldnames=['股票代码','股票名称','当前价','涨跌额','涨跌幅','年初至今','成交量','成交额','换手率','市盈率(TTM)','股息率','市值'])
csv_write.writeheader()

运行效果

Python采集股票数据并制作可视化柱状图

Python采集股票数据并制作可视化柱状图

数据可视化

data_df = pd.read_csv('data2.csv')
df = data_df.dropna()
df1 = df[['股票名称', '成交量']]
df2 = df1.iloc[:20]
print(df2['股票名称'].values)
print(df2['成交量'].values)


c = (
    Bar()
        .add_xaxis(df2['股票名称'].values.tolist())
        .add_yaxis("股票成交量情况", df2['成交量'].values.tolist())
        .set_global_opts(
        title_opts=opts.TitleOpts(title="成交量图表 - Volume chart"),
        datazoom_opts=opts.DataZoomOpts(),
    )
    .render("data.html")
)

print('数据可视化结果完成,请在当前目录下查找打开 data.html 文件!')

Python采集股票数据并制作可视化柱状图

Python采集股票数据并制作可视化柱状图

以上就是Python采集股票数据并制作可视化柱状图的详细内容,更多关于Python采集股票数据的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
浅谈Python浅拷贝、深拷贝及引用机制
Dec 15 Python
python开发简易版在线音乐播放器
Mar 03 Python
Python3学习笔记之列表方法示例详解
Oct 06 Python
浅谈python下含中文字符串正则表达式的编码问题
Dec 07 Python
通过PHP与Python代码对比的语法差异详解
Jul 10 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
详解Django配置优化方法
Nov 18 Python
如何在python中处理配置文件代码实例
Sep 27 Python
Python生成pdf目录书签的实例方法
Oct 29 Python
关于python中导入文件到list的问题
Oct 31 Python
pandas DataFrame.shift()函数的具体使用
May 24 Python
python疲劳驾驶困倦低头检测功能的实现
Python实现自动玩连连看的脚本分享
Apr 04 #Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Python必备技巧之函数的使用详解
Python批量解压&压缩文件夹的示例代码
Apr 04 #Python
Python调用腾讯API实现人脸身份证比对功能
Python字符串常规操作小结
You might like
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
PHP getName()函数讲解
2019/02/03 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
js实现数组转换成json
2015/06/26 Javascript
JavaScript学习笔记之DOM基础 2.4
2015/08/14 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
vue-router 组件复用问题详解
2018/01/22 Javascript
vue组件与复用详解
2018/04/08 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python入门篇之编程习惯与特点
2014/10/17 Python
django 常用orm操作详解
2017/09/13 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
django基于restframework的CBV封装详解
2019/08/08 Python
python__new__内置静态方法使用解析
2020/01/07 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
JBL美国官方商店:扬声器、耳机等
2019/12/01 全球购物
学生期末评语大全
2014/04/30 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
三严三实对照检查材料
2014/09/22 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
2015年学校后勤工作总结
2015/04/08 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript