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中的多重继承实例讲解
Sep 28 Python
Windows下Python的Django框架环境部署及应用编写入门
Mar 10 Python
Python 解决中文写入Excel时抛异常的问题
May 03 Python
python实现多层感知器
Jan 18 Python
Python判断有效的数独算法示例
Feb 23 Python
Django Channels 实现点对点实时聊天和消息推送功能
Jul 17 Python
python监控nginx端口和进程状态
Sep 06 Python
flask实现验证码并验证功能
Dec 05 Python
python基于socket函数实现端口扫描
May 28 Python
Python私有属性私有方法应用实例解析
Sep 15 Python
Python自动操作神器PyAutoGUI的使用教程
Jun 16 Python
python manim实现排序算法动画示例
Aug 14 Python
python疲劳驾驶困倦低头检测功能的实现
Python实现自动玩连连看的脚本分享
Apr 04 #Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Python必备技巧之函数的使用详解
Python批量解压&压缩文件夹的示例代码
Apr 04 #Python
Python调用腾讯API实现人脸身份证比对功能
Python字符串常规操作小结
You might like
PHP中实现图片的锐化
2006/10/09 PHP
ajax在joomla中的原生态应用代码
2012/07/19 PHP
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
javascript实现的动态文字变换
2007/07/28 Javascript
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
node.js中的fs.lstat方法使用说明
2014/12/16 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
2016/02/25 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
vue.js表格组件开发的实例详解
2016/10/12 Javascript
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
Python深入学习之上下文管理器
2014/08/31 Python
Python 编码处理-str与Unicode的区别
2016/09/06 Python
分享一个可以生成各种进制格式IP的小工具实例代码
2017/07/28 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
Python返回数组/List长度的实例
2018/06/23 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
你对IPv6了解程度
2016/02/09 面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
区域总监的岗位职责
2013/11/21 职场文书
公司离职证明样本
2014/09/13 职场文书
小学运动会报道稿
2015/07/22 职场文书
一文搞懂Redis中String数据类型
2022/04/03 Redis