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操作摄像头截图实现远程监控的例子
Mar 25 Python
Python下的subprocess模块的入门指引
Apr 16 Python
对python中return和print的一些理解
Aug 18 Python
一道python走迷宫算法题
Jan 22 Python
pyqt5 从本地选择图片 并显示在label上的实例
Jun 13 Python
Python编写带选项的命令行程序方法
Aug 13 Python
python sqlite的Row对象操作示例
Sep 11 Python
对tensorflow中的strides参数使用详解
Jan 04 Python
python利用opencv实现SIFT特征提取与匹配
Mar 05 Python
PYcharm 激活方法(推荐)
Mar 23 Python
pytorch读取图像数据转成opencv格式实例
Jun 02 Python
Python中生成ndarray实例讲解
Feb 22 Python
python疲劳驾驶困倦低头检测功能的实现
Python实现自动玩连连看的脚本分享
Apr 04 #Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Python必备技巧之函数的使用详解
Python批量解压&压缩文件夹的示例代码
Apr 04 #Python
Python调用腾讯API实现人脸身份证比对功能
Python字符串常规操作小结
You might like
将PHP作为Shell脚本语言使用
2006/10/09 PHP
PHP 和 MySQL 基础教程(二)
2006/10/09 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
2014/04/24 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
Jquery 的扩展方法总结
2011/10/01 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
将数字转换成大写的人民币表达式的js函数
2014/09/21 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
2016/10/04 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
vue页面引入three.js实现3d动画场景操作
2020/08/10 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
Python fileinput模块使用实例
2015/06/03 Python
python字典基本操作实例分析
2015/07/11 Python
python 把列表转化为字符串的方法
2018/10/23 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
python3使用GUI统计代码量
2019/09/18 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
抽象方法、抽象类怎样声明
2014/10/25 面试题
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
学校安全工作制度
2014/01/19 职场文书
Python基础之Socket通信原理
2021/04/22 Python
python爬取新闻门户网站的示例
2021/04/25 Python
Vue Element plus使用方法梳理
2022/12/24 Vue.js
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server