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实现的批量下载RFC文档
Mar 10 Python
python虚拟环境virtualenv的使用教程
Oct 20 Python
快速了解python leveldb
Jan 18 Python
解决python线程卡死的问题
Feb 18 Python
python微信撤回监测代码
Apr 29 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
Aug 13 Python
Django 路由层URLconf的实现
Dec 30 Python
pytorch三层全连接层实现手写字母识别方式
Jan 14 Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
Sep 11 Python
详解基于Scrapy的IP代理池搭建
Sep 29 Python
python疲劳驾驶困倦低头检测功能的实现
Python实现自动玩连连看的脚本分享
Apr 04 #Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Python必备技巧之函数的使用详解
Python批量解压&压缩文件夹的示例代码
Apr 04 #Python
Python调用腾讯API实现人脸身份证比对功能
Python字符串常规操作小结
You might like
DIY实用性框形天线
2021/03/02 无线电
深入phpMyAdmin的安装与配置的详细步骤
2013/05/07 PHP
php将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
jquery中val()方法是从最后一个选项往前读取的
2015/09/06 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
JavaScript实现选中文字提示新浪微博分享效果
2017/06/15 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
tracking.js页面人脸识别插件使用方法
2020/04/16 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
js实现转动骰子模型
2019/10/24 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
Django中使用Celery的教程详解
2018/08/24 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
婴儿地球:Baby Earth
2018/12/25 全球购物
大学毕业生通用求职信
2013/09/28 职场文书
记帐员岗位责任制
2014/02/08 职场文书
供应商食品安全承诺书
2015/04/29 职场文书
2015年医院药剂科工作总结
2015/05/04 职场文书
小学主题班会教案
2015/08/17 职场文书