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进阶教程之模块(module)介绍
Aug 30 Python
Python中每次处理一个字符的5种方法
May 21 Python
Python输出汉字字库及将文字转换为图片的方法
Jun 04 Python
python MysqlDb模块安装及其使用详解
Feb 23 Python
网红编程语言Python将纳入高考你怎么看?
Jun 07 Python
python 制作自定义包并安装到系统目录的方法
Oct 27 Python
Python使用paramiko操作linux的方法讲解
Feb 25 Python
Python Opencv任意形状目标检测并绘制框图
Jul 23 Python
python中property属性的介绍及其应用详解
Aug 29 Python
python 字典套字典或列表的示例
Dec 16 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
Feb 26 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
Dec 10 Python
python疲劳驾驶困倦低头检测功能的实现
Python实现自动玩连连看的脚本分享
Apr 04 #Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Python必备技巧之函数的使用详解
Python批量解压&压缩文件夹的示例代码
Apr 04 #Python
Python调用腾讯API实现人脸身份证比对功能
Python字符串常规操作小结
You might like
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
PHP6 中可能会出现的新特性预览
2014/04/04 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
基于JQuery 滑动与动画的说明介绍
2013/04/18 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
python中使用print输出中文的方法
2018/07/16 Python
python如何查看微信消息撤回
2018/11/27 Python
python不同系统中打开方法
2020/06/23 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
REISS英国官网:伦敦High Street最受欢迎品牌
2016/12/21 全球购物
全球度假村:Club Med
2017/11/27 全球购物
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
接口中的方法可以是abstract的吗
2015/07/23 面试题
软件测试有哪些?什么是配置项?
2012/02/12 面试题
广告设计专业自荐信范文
2013/11/14 职场文书
演讲稿怎么写才完美
2014/01/02 职场文书
食品安全责任书
2014/04/15 职场文书
罗马假日观后感
2015/06/08 职场文书
纪律委员竞选稿
2015/11/19 职场文书
MySQL系列之三 基础篇
2021/07/02 MySQL
Python中的变量与常量
2021/11/11 Python