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中的__slots__缓存资源以节省内存开销的方法
Apr 02 Python
利用python实现简单的循环购物车功能示例代码
Jul 05 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
Dec 10 Python
对python字典过滤条件的实例详解
Jan 22 Python
Python字典遍历操作实例小结
Mar 05 Python
Tensorflow实现神经网络拟合线性回归
Jul 19 Python
Python Django简单实现session登录注销过程详解
Aug 06 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 Python
Python实现打印实心和空心菱形
Nov 23 Python
Python从文件中读取数据的方法步骤
Nov 18 Python
教你用Python爬取英雄联盟皮肤原画
Jun 13 Python
Python List remove()实例用法详解
Aug 02 Python
python疲劳驾驶困倦低头检测功能的实现
Python实现自动玩连连看的脚本分享
Apr 04 #Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Python必备技巧之函数的使用详解
Python批量解压&压缩文件夹的示例代码
Apr 04 #Python
Python调用腾讯API实现人脸身份证比对功能
Python字符串常规操作小结
You might like
《Re:从零开始的异世界生活 冰结之绊》
2020/04/09 日漫
php中过滤非法字符的具体实现
2013/10/29 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
php与Mysql的一些简单的操作
2015/02/26 PHP
php从字符串创建函数的方法
2015/03/16 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
搭建自己的PHP MVC框架详解
2017/08/16 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
JObj预览一个JS的框架
2008/03/13 Javascript
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
让你的CSS像Jquery一样做筛选的实现方法
2011/07/10 Javascript
JavaScript Math.ceil() 函数使用介绍
2013/12/11 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
Bootstrap学习笔记之环境配置(1)
2016/12/07 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
2019/10/10 Javascript
js实现特别简单的钟表效果
2020/09/14 Javascript
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
Java Web开发过程中登陆模块的验证码的实现方式总结
2016/05/25 Python
使用Python操作FTP实现上传和下载的方法
2019/04/01 Python
python使用梯度下降算法实现一个多线性回归
2020/03/24 Python
Pycharm调试程序技巧小结
2020/08/08 Python
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
印尼购物网站:iLOTTE
2019/10/16 全球购物
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
辞职信的写法
2015/02/27 职场文书
致我们终将逝去的青春观后感
2015/06/10 职场文书
社区结对共建协议书
2016/03/23 职场文书
python之django路由和视图案例教程
2021/07/26 Python
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android