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 23 Python
Python中使用SAX解析xml实例
Nov 21 Python
python3实现短网址和数字相互转换的方法
Apr 28 Python
Python类的用法实例浅析
May 27 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
Oct 14 Python
如何基于python操作excel并获取内容
Dec 24 Python
对Tensorflow中Device实例的生成和管理详解
Feb 04 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
Mar 05 Python
Python drop方法删除列之inplace参数实例
Jun 27 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
Jun 30 Python
分析Python感知线程状态的解决方案之Event与信号量
Jun 16 Python
python疲劳驾驶困倦低头检测功能的实现
Python实现自动玩连连看的脚本分享
Apr 04 #Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Python必备技巧之函数的使用详解
Python批量解压&压缩文件夹的示例代码
Apr 04 #Python
Python调用腾讯API实现人脸身份证比对功能
Python字符串常规操作小结
You might like
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
PHP生成不同颜色、不同大小的tag标签函数
2013/09/23 PHP
FireFox JavaScript全局Event对象
2009/06/14 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
JS简单限制textarea内输入字符数量的方法
2015/10/14 Javascript
js+html5操作sqlite数据库的方法
2016/02/02 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
JS实现按钮控制计时开始和停止功能
2017/07/27 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
webuploader实现上传图片到服务器功能
2018/08/16 Javascript
Vue面试题及Vue知识点整理
2018/10/07 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
[32:39]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第一场 11.04
2020/11/04 DOTA
Python 字符串大小写转换的简单实例
2017/01/21 Python
django基于restframework的CBV封装详解
2019/08/08 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
2020/06/08 Python
python中如何写类
2020/06/29 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
UI自动化定位常用实现方法代码示例
2020/10/27 Python
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
加拿大最大的相机店:Henry’s
2017/05/17 全球购物
澳大利亚儿童和婴儿产品在线商店:Lime Tree Kids
2017/10/05 全球购物
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
电子商务专业个人的自我评价
2013/12/19 职场文书
药店主任岗位责任制
2014/02/10 职场文书
幼儿教师工作感言
2014/02/14 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
结婚老公保证书
2015/02/26 职场文书
实习证明模板
2015/06/16 职场文书
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android
Vue的生命周期一起来看看
2022/02/24 Vue.js