Python爬虫案例:简单获取股票、指数、三大报表数据

您所在的位置:网站首页 股票价格指数图片 Python爬虫案例:简单获取股票、指数、三大报表数据

Python爬虫案例:简单获取股票、指数、三大报表数据

2024-07-10 00:32:30| 来源: 网络整理| 查看: 265

Python爬虫案例:简单获取股票、指数、三大报表数据

文章目录 Python爬虫案例:简单获取股票、指数、三大报表数据介绍 1.准备工作2. 以不同股票、指数为行,爬取不同日期的数据调用tushare库获取数据,并保存到本地baostock库获取单支股票的详细信息 3.爬取三大报表数据使用 akshare库获取上市公司列表爬取公司财务报表数据 4. 总结

介绍 本案例操作容易上手,代码简短,即使没有学过Python也可使用,只需简单更换原文股票/指数代码和保存数据文件的路径即可。爬取股票、指数和三大报表数据的目的和意义在于获取金融市场和上市公司的实时和历史数据,以供进一步分析、研究和决策。通过爬取股票数据,我们可以追踪股票价格的变化和波动,识别潜在的投资机会和风险,从而进行有效的股票交易。爬取指数数据可以帮助我们了解整个市场的走势和表现,监测市场整体风险和趋势,为资产配置和投资决策提供重要参考。对于上市公司的三大报表数据(即资产负债表、利润表和现金流量表),爬取这些数据能够深入了解公司的财务状况、经营业绩和现金流情况。通过对这些数据进行分析,投资者和研究人员可以评估公司的盈利能力、偿债能力和成长潜力,辅助投资决策和风险管理。

(获取更多资料和代码源文件可关注gzh‘finance褪黑素’按自动回复获取)

1.准备工作

安装Anaconda:

首先,前往Anaconda官网(https://www.anaconda.com/products/individual)下载适用于你操作系统的Anaconda安装程序。

运行下载的Anaconda安装程序。根据安装向导的指示进行安装。在安装过程中,你可以选择是否将Anaconda添加到系统的环境变量中。

安装完成后,打开终端(对于Windows用户是Anaconda Prompt或者命令提示符),输入以下命令,验证Anaconda是否成功安装:

conda --version

启动Jupyter Notebook:

在终端中,输入以下命令启动Jupyter Notebook:

jupyter notebook

Jupyter Notebook服务器会在默认浏览器中打开一个新页面。你将在这个页面上进行所有的Jupyter Notebook交互操作。

在页面的右上角,你可以点击“New”按钮,然后选择“Python 3”来创建一个新的Python 3的Notebook。

安装爬虫相关的库

在终端(对于Windows用户是Anaconda Prompt或者命令提示符)输入以下命令安装相关库名。

pip install 库名 2. 以不同股票、指数为行,爬取不同日期的数据 调用tushare库获取数据,并保存到本地

选取股票代码为 ‘002549’,‘600008’,‘300332’,‘300055’,'600292’进行调用,生成的DataFrame格式的数据如下,横轴为不同股票,纵轴为时间序列(2020-11-01至 2021-11-01)

1689908810529.png # 导入需要的包 import pandas as pd import tushare as ts import numpy as np import matplotlib.pyplot as plt #绘图 symbols = [ '002549','600008','300332','300055','600292']#里面为股票、指数代码 noa = len(symbols) indexes = pd.date_range('2020-11-01', '2021-11-01') data = pd.DataFrame(index=indexes) for sym in symbols: k_d = ts.get_k_data(sym, '2019-01-01', ktype='D') k_d['date'] = k_d['date'].astype('datetime64[ns]') k_d.set_index('date', inplace=True) data[sym] = k_d['close'] //这里选择每只股票的收盘价组成data data = data.dropna() # 简单查看一下股票数据: data.head() # 保存数据 data.to_csv('价格数据.csv') baostock库获取单支股票的详细信息

使用baostock库可获取单支股票的详细信息。比如open(开盘价)、high(当日最高价)、low(当日最低价)、preclose(前一日收盘价)、pctChg(涨跌幅)等。

生成数据的格式如下,以时间序列为索引,不同数据元素为横轴。

1689911107120.png import baostock as bs import pandas as pd import numpy as np import matplotlib.pyplot as plt from datetime import datetime, date # 登陆系统 lg = bs.login() code = 'sh.000300' start = '2022-01-01' end = '2023-07-01' # 获取指数基金指数历史数据 # 沪深300指数 hs300_price = bs.query_history_k_data_plus(code, "date,code,open,high,low,close,preclose,pctChg", start_date=start, end_date=end, frequency="d") # 整合为DataFrame格式 data_list = [] while (hs300_price.error_code == '0') & hs300_price.next(): data_list.append(hs300_price.get_row_data()) hs300 = pd.DataFrame(data_list, columns=hs300_price.fields) # 保存数据 hs300.to_csv('沪深300.csv') 3.爬取三大报表数据 使用 akshare库获取上市公司列表

生成格式如下图所示:

image-20230721113206313.png

import pandas as pd import numpy as np import datetime from matplotlib import pyplot as plt import akshare as ak #获取A股全部股票数据 存储到stock_basic.csv stock_zh=ak.stock_zh_a_spot() stock_zh.to_csv("stock_basic.csv") 爬取公司财务报表数据 获取公司个股股票数据 stock_zh[stock_zh["名称"]=="复星医药"] stock_daily = ak.stock_zh_a_hist(symbol="600196", period="daily", start_date="20220629", end_date='20230629', adjust="qfq") close_price=stock_daily[["日期","收盘","最高","最低"]] close_price.set_index("日期",inplace=True) # 保存数据 close_price.to_csv('600196.csv')

(获取更多资料和代码源文件可关注gzh‘finance褪黑素’按自动回复获取)

获取公司三大报表数据 现金流量表

1689911701239.png

利润表

1689912167991.png

资产负债表

1689912167991.png

#获取现金流量表 stock_financial_report_sina_df = ak.stock_financial_report_sina(stock="600196", symbol="现金流量表") geli_sheet1=stock_financial_report_sina_df[stock_financial_report_sina_df["报表日期"]=="20221231"] # 保存数据 stock_financial_report_sina_df.to_excel('600196现金流量表.xlsx') #获取利润表 stock_financial_report_sina_lrb = ak.stock_financial_report_sina(stock="600196", symbol="利润表") geli_sheet2=stock_financial_report_sina_lrb[stock_financial_report_sina_lrb["报表日期"]=="20221231"] # 保存数据 stock_financial_report_sina_lrb.to_excel('600196利润表.xlsx') #获取资产负债表 stock_financial_report_sina_lrb = ak.stock_financial_report_sina(stock="600196", symbol="资产负债表") geli_sheet3=stock_financial_report_sina_lrb[stock_financial_report_sina_lrb["报表日期"]=="20221231"] # 保存数据 stock_financial_report_sina_lrb.to_excel('600196资产负债表.xlsx')

(获取更多资料和代码源文件可关注gzh‘finance褪黑素’按自动回复获取)

4. 总结 本文主要介绍了利用Python金融数据库爬取股票、指数和三大报表数据的方法和过程。后续若想学习更多关于金融数据可视化和分析的知识,欢迎关注公主号“finance 褪黑素"获取更多与金融分析相关的内容。


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭