PyQt6实例_A股财报数据维护工具_使用
目录
描述
过程
step one 打开巨潮 巨潮资讯网
step two 将43页内容获取,每页存储为json文件
step three 从json文件中获取股票代码
step five 使用【A股财报维护工具】更新数据到数据库中
视频
描述
1 当隔很长一段时间没有更新财报数据时,需要更新的股票代码已经积累了很多,这个时候需要想一个办法获悉这段时间更新财报的股票代码。
2 获取股票代码列表后,就可以使用【A股财报数据维护工具】对财报数据进行更新。
过程
step one 打开巨潮 巨潮资讯网
1 输入要更新的时间段,点击“查询”
2 打开浏览器控制台,点击“年报”
控制台出现 query 文件,点击query,看请求头,获悉url和请求方式为post
查看Payload,获取请求携带的参数格式
查看Response,得知一共1297条信息,43页
step two 将43页内容获取,每页存储为json文件
import akshare as ak
import requests
import json,tracebackdef temp_000():pre_dir = r'E:/temp006/'for i in range(43,44):print(i)data = {'pageNum': i,'pageSize': 30,'column': 'szse','tabName': 'fulltext','plate': '','stock': '','searchkey': '','secid': '','category': 'category_ndbg_szsh','trade': '','seDate': '2025-04-20~2025-04-23','sortName': '','sortType': '','isHLtitle': 'true'}pre_url = r'http://www.cninfo.com.cn/new/hisAnnouncement/query'response = requests.post(pre_url, params=data,headers={'Content-Type': 'application/json'})with open(pre_dir+str(i)+'.json','w',encoding='utf-8') as fw:fw.write(response.text)pass
step three 从json文件中获取股票代码
def temp_001():pre_dir = r'E:/temp006/'ticker_list = []for i in range(1,44):file_path = pre_dir + str(i) + '.json'with open(file_path,'r',encoding='utf-8') as f:json_obj = json.load(f)announcements = json_obj['announcements']for item in announcements:secCode = item['secCode']ticker_list.append(secCode)passticker_list = list(set(ticker_list))ticker_list_str = '\n'.join(ticker_list)with open('ticker_list.txt','w',encoding='utf-8') as f:f.write(ticker_list_str)pass
step four 从akshare中获取财报数据
def temp_002():with open('ticker_list.txt','r',encoding='utf-8') as f:ticker_list_str = f.read()ticker_list = ticker_list_str.split('\n')asset_dir = r'E:/temp006/asset/'profit_dir = r'E:/temp006/profit/'cash_dir = r'E:/temp006/cash/'for ticker in ticker_list:try:df_asset = ak.stock_financial_debt_ths(symbol=ticker, indicator= "按报告期")df_asset.to_csv(asset_dir+ticker+'.csv',encoding='utf-8')df_profit = ak.stock_financial_benefit_ths(symbol=ticker, indicator="按报告期")df_profit.to_csv(profit_dir + ticker + '.csv', encoding='utf-8')df_cash = ak.stock_financial_cash_ths(symbol=ticker, indicator="按报告期")df_cash.to_csv(cash_dir + ticker + '.csv', encoding='utf-8')passexcept:print(ticker)traceback.print_exc()passpasspass
step five 使用【A股财报维护工具】更新数据到数据库中
1 选择 资产负债表 待更新文件的路径
2 点击“更新”
3 资产负债表更新完后,切换到利润表,同样的操作 ,现金流量表也一样的操作
视频
https://www.bilibili.com/video/BV1EQLbzNEaS/