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中线程问题的简单讲解
Apr 03 Python
Python中tell()方法的使用详解
May 24 Python
定制FileField中的上传文件名称实例
Aug 23 Python
Python装饰器模式定义与用法分析
Aug 06 Python
Python SQL查询并生成json文件操作示例
Aug 17 Python
Django forms组件的使用教程
Oct 08 Python
python配置grpc环境
Jan 01 Python
在PyCharm导航区中打开多个Project的关闭方法
Jan 17 Python
python使用openpyxl操作excel的方法步骤
May 28 Python
浅谈Python中的模块
Jun 10 Python
Python求区间正整数内所有素数之和的方法实例
Oct 13 Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 Python
python疲劳驾驶困倦低头检测功能的实现
Python实现自动玩连连看的脚本分享
Apr 04 #Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Python必备技巧之函数的使用详解
Python批量解压&压缩文件夹的示例代码
Apr 04 #Python
Python调用腾讯API实现人脸身份证比对功能
Python字符串常规操作小结
You might like
PHP网站基础优化方法小结
2008/09/29 PHP
php 操作调试的方法
2012/07/12 PHP
PHP编程中尝试程序并发的几种方式总结
2016/03/21 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
微信小程序  modal弹框组件详解
2016/10/27 Javascript
Vue 获取数组键名的方法
2018/06/21 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
2019/03/08 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
使用layer弹窗,制作编辑User信息页面的方法
2019/09/27 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
python实现超简单端口转发的方法
2015/03/13 Python
python实现从字典中删除元素的方法
2015/05/04 Python
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
python中异常报错处理方法汇总
2016/11/20 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
Django开发的简易留言板案例详解
2018/12/04 Python
详解Python:面向对象编程
2019/04/10 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
python使用flask与js进行前后台交互的例子
2019/07/19 Python
python 爬取疫情数据的源码
2020/02/09 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
CSS3新属性transition-property transform box-shadow实例学习
2013/06/06 HTML / CSS
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
产品调价通知函
2015/04/20 职场文书
spring cloud 配置中心native配置方式
2021/09/25 Java/Android
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL