完善下列代码爬取资产负债表

-- coding:utf-8 --

import csv # 将数保存至csv需要的库
import requests # 请求库
def get_data(): # 定义获取网页链接响应的函数
url = "http://IP:8082/security/companyInfo/showBalance.do" # 请求Json数据的链接
headers = {
'Accept': '/',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en-US;q=0.7,en;q=0.6',
'Connection': 'keep-alive',
'Content-Length': '54',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Host': 'IP:8082',
'Origin': 'http://IP:8082',
'Referer': 'http://IP:8082/security/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/538.36',
'X-Requested-With': 'XMLHttpRequest',
} # headers为请求头信息,从网页复制后需要转换为python字典类型

# 构造post请求,设置请求的url,headers和提交的字典参数data
content = requests.post(url=url, headers=headers,
                        data={'stock_id': '______',                # stock_id           股票代码
                              'report_period_id': '5000'}).json()  # report_period_id   报表类型 
                                                                   # 报表类型四种:年报5000、一季报4000、半年报1000、三季报4400        
return content  # 将请求的响应返回

def save_csv(data, path): # 定义解析及把保存数据的函数
name = [
"货币资金(元)", "结算备付金(元)", "拆出资金(元)", "交易性金融资产(元)", "应收票据(元)", "应收帐款(元)",
"预付帐款(元)", "应收保费(元)", "应收分保账款(元)", "应收分保合同准备金(元)", "应收利息(元)", "应收股利(元)", "其他应收款(元)",
"买入返售金融资产(元)", "存货(元)", "一年内到期的非流动资产(元)", "其他流动资产(元)", "流动资产合计(元)", "发放贷款和垫款(元)",
"可供出售金融资产(元)", "持有至到期投资(元)", "长期应收款(元)", "长期股权投资(元)", "投资性房地产(元)", "固定资产净额(元)",
"在建工程(元)", "工程物资(元)", "固定资产清理(元)", "生产性生物资产(元)", "油气资产(元)", "无形资产(元)", "开发支出(元)",
"商誉(元)", "长期待摊费用(元)", "递延税款借项合计(元)", "其他长期资产(元)", "非流动资产合计(元)", "资产总计(元)",
"短期借款(元)", "向中央银行借款(元)", "吸收存款及同业存放(元)", "拆入资金(元)", "交易性金融负债(元)", "应付票据(元)",
"应付帐款(元)", "预收帐款(元)", "卖出回购金融资产款(元)", "应付手续费及佣金(元)", "应付职工薪酬(元)", "应交税金(元)",
"应付利息(元)", "应付股利(元)", "其他应付款(元)", "应付分保账款(元)", "保险合同准备金(元)", "代理买卖证券款(元)",
"代理承销证券款(元)", "一年内到期的长期负债(元)", "其他流动负债(元)", "流动负债合计(元)", "长期借款(元)", "应付债券(元)",
"长期应付款(元)", "专项应付款(元)", "预计负债(元)", "递延税款贷项合计(元)", "其他长期负债(元)", "长期负债合计(元)",
"负债合计(元)", "股本(元)", "资本公积(元)", "库存股(元)", "盈余公积(元)", "一般风险准备(元)", "未分配利润(元)",
"外币报表折算差额(元)", "归属于母公司所有者权益合计(元)", "少数股东权益(元)", "股东权益合计(元)", "负债和股东权益合计(元)"
] # 资产负债表的指标名称

header_list = ['指标/年份']  #  
for i in data["columns"][0]:
    header_list.append(i.get('title'))  # 整理表头信息,一共六列
try:
    csvfile = open(path, "w", newline='', encoding='utf-8-sig')  # 创建写入的文件
    writer = csv.writer(csvfile)  # 创建写入的对象
    writer.writerow(header_list)  # 写入第一行表头信息
    for index, num in enumerate(data['rows']):  # 解析报表Json数据
        row_data = []
        row_data.append(name[index])
        row_data.extend([num['value0'], num['value1'],
                         num['value2'], num['value3'], num['value4']])
        writer.writerow(row_data)  # 按行写入数据,包含每行开头的指标名称
except Exception as e:
    print("write error==>", e)

save_csv(get_data(), '资产负债表.csv') # 调用函数
print('ok')

已完善