热线电话:13121318867

登录
首页大数据时代从网络爬取行业资产负债信息:数据源选择、采集流程与分析应用
从网络爬取行业资产负债信息:数据源选择、采集流程与分析应用
2026-10-23
收藏

一、为什么要爬取行业资产负债表数据

做行业研究、信用分析、投资比较时,一个高频需求是拿到整个行业所有上市公司的资产负债表数据。比如想知道:房地产行业整体资产负债率是多少?白酒行业的流动比率分布如何?半导体行业的应收账款周转情况怎样?

这些数据在财报里都有,但一家家下载年报、手工整理成表格,几十上百家公司要花几周时间。通过网络爬虫批量采集公开财务数据,是数据分析师和投研人员的常规操作。本文系统梳理从数据源选择、采集流程、数据清洗到分析应用的完整链路。

二、资产负债表核心科目:爬什么

在动手爬之前,先明确资产负债表要看哪些核心科目。一张完整的资产负债表有上百个科目,但做行业对比时,核心关注的是这几类:

类别 核心科目 分析意义
资产结构 货币资金、应收账款、存货、固定资产、总资产 看资产轻重、流动性
负债结构 短期借款、应付账款、长期借款、总负债 看负债压力、偿债风险
所有者权益 实收资本、未分配利润、股东权益合计 看净资产积累
关键比率 资产负债率、流动比率、速动比率、产权比率 行业横向对比

爬取时不需要把所有科目都拉下来,先锁定这些核心科目,数据量可控、分析时够用。

三、数据源选择:从哪里爬

公开财务数据有几个主流来源,各有优缺点:

3.1 东方财富 / 同花顺 / 新浪财经

国内上市公司最常用的数据来源。这些网站把财报数据结构化展示在网页上,可以通过请求接口或解析页面获取。

  • 优点:数据全、更新快、按行业分类清晰、有现成的财务指标计算结果。
  • 缺点:有反爬机制(频率限制、验证码、动态加载);接口未公开,需要抓包分析。
  • 适用:A股上市公司行业批量数据采集。

3.2 巨潮资讯网(cninfo)

证监会指定的信息披露平台,所有上市公司的年报、季报、临时公告都在这里发布。

  • 优点:最权威、原始 PDF 财报都能下载、数据一手。
  • 缺点:数据是 PDF 格式,需要 PDF 解析;没有现成的结构化财务指标接口。
  • 适用:需要原始财报做深度分析时使用。

3.3 Tushare / AkShare(Python 财经数据库)

这是两个开源 Python 库,已经封装好了 A 股财务数据接口,不需要自己写爬虫。

  • 优点:一行代码拿到结构化 DataFrame、字段规范、持续维护。
  • 缺点:高频调用需要积分/Token;极端情况下数据源接口会变。
  • 适用:快速取数、学习和小规模分析首选。

3.4 SEC EDGAR(美股)

如果研究美股行业,SEC 的 EDGAR 系统有所有上市公司的 10-K 年报、10-Q 季报,提供结构化 API。

四、爬取流程:四步走

4.1 第一步:确定标的清单

先拿到这个行业所有上市公司的股票代码列表。东方财富、同花顺都有行业板块分类页面,可以按行业导出成分股列表。

# 示例:用 AkShare 获取A股某行业成分股
import akshare as ak

# 获取白酒行业成分股
stock_list = ak.stock_board_cons_em(symbol="白酒概念")
print(stock_list[['代码', '名称']].head())

4.2 第二步:批量拉取资产负债表

拿到股票代码列表后,循环请求每只股票的资产负债表数据。以 AkShare 为例:

import akshare as ak
import pandas as pd
import time

all_balance_sheets = []

for code in stock_list['代码']:
    try:
        # 获取单只股票的资产负债表
        bs = ak.stock_balance_sheet_by_report_em(symbol=code)
        bs['stock_code'] = code
        all_balance_sheets.append(bs)
        # 控制请求频率,避免被封
        time.sleep(0.5)
    except Exception as e:
        print(f"{code} 爬取失败: {e}")

# 合并成一张大表
df = pd.concat(all_balance_sheets, ignore_index=True)
df.to_csv('行业资产负债表汇总.csv', index=False, encoding='utf-8-sig')

4.3 第三步:数据清洗

爬下来的原始数据通常需要清洗几个问题:

  • 单位不统一:有的是元,有的是万元,有的是亿元,要统一换算。
  • 缺失值处理:部分小公司某些科目为空,要么填 0,要么剔除。
  • 重复字段:同一份报表不同接口可能有重复列,要去重。
  • 报告期对齐:不同公司发布日期不同,要按"报告期"而不是"发布日期"对齐做行业对比。

4.4 第四步:计算关键财务比率

拿到原始科目后,行业分析真正要用的是比率:

# 资产负债率 = 总负债 / 总资产
df['debt_asset_ratio'] = df['TOTAL_LIABILITIES'] / df['TOTAL_ASSETS']

# 流动比率 = 流动资产 / 流动负债
df['current_ratio'] = df['TOTAL_CURRENT_ASSETS'] / df['TOTAL_CURRENT_LIAB']

# 速动比率 = (流动资产 - 存货) / 流动负债
df['quick_ratio'] = (df['TOTAL_CURRENT_ASSETS'] - df['INVENTORY']) / df['TOTAL_CURRENT_LIAB']

五、数据质量校验

爬完数据不能直接用,要做基本校验:

  1. 合理性检查:资产负债率正常应该在 0~100% 之间,如果出现负数或大于 1,说明爬取字段错位了。
  2. 抽样核对:随机抽 2~3 家公司,和巨潮资讯网上的原始年报对一下总资产数字是否一致。
  3. 缺失率统计:每个字段的非空率是多少,如果某科目 50% 以上公司都没有,这个科目在行业分析里就没意义。

六、典型分析应用

数据清洗完之后,可以做这几类行业分析:

6.1 行业资产负债率分布

# 按行业统计资产负债率均值、中位数
df.groupby('industry')['debt_asset_ratio'].agg(['mean', 'median', 'std'])

可以直观看到:房地产、建筑行业负债率普遍 70% 以上,白酒、医药行业普遍 30% 以下,这是由行业商业模式决定的。

6.2 行业偿债能力横向对比

对比不同行业的流动比率、速动比率,判断哪些行业短期偿债压力大。

6.3 行业资产结构分析

算各行业固定资产占总资产比例,区分重资产行业(电力、钢铁)和轻资产行业(互联网、咨询)。

6.4 趋势分析

拉取连续 5~10 年的数据,看某行业资产负债率是逐年上升还是下降,判断行业周期位置。

七、合规与反爬注意事项

7.1 遵守 robots 协议和网站规则

商业网站有自己的反爬策略和服务条款。爬取公开数据用于个人研究和学习通常没问题,但要注意:

  • 控制请求频率,不要给对方服务器造成压力。
  • 不要绕过付费墙获取收费数据。
  • 爬下来的数据不要直接转售。

7.2 优先用官方接口或开源库

能通过 Tushare、AkShare 这种开源库拿到的数据,不要自己硬爬网页。这些库已经处理好了反爬、字段映射、数据更新,效率高、风险小。

7.3 做好异常处理和断点续爬

批量爬几十上百家公司时,总会遇到某只股票接口报错、网络超时。脚本要做:

  • try/except 捕获异常,失败的股票记下来稍后重试。
  • 每爬完几家就保存一次中间结果,不要全部跑完才写文件。
  • 加随机延时,模拟人类访问节奏。

八、常见坑点

8.1 字段名对不上

不同数据源的字段命名差异很大——东方财富可能叫 TOTAL_ASSETS,新浪叫 totalAssets,巨潮 PDF 里叫"资产总计"。爬取后要统一映射到自己的数据字典。

8.2 报告期搞混

资产负债表有时点概念——2024年一季报、半年报、三季报、年报数据不同。做行业对比时,必须统一取同一报告期的数据,不能 A 公司取年报、B 公司取三季报。

8.3 单位陷阱

这个最容易出错。东方财富的接口返回单位可能是"元",但展示在网页上是"亿元"。如果不做单位换算,算出来的资产负债率会差几个数量级。

8.4 复权问题

资产负债表是时点数据,不像股价有复权问题,但要注意有些公司做过重大资产重组,前后年份的数据口径可能不一致,做趋势分析时要标注。

九、总结

从网络爬取行业资产负债信息,本质是一个"数据获取+清洗+分析"的标准数据工程任务。核心要点是:

  • 数据源优先选好的:能用 AkShare/Tushare 就不要硬爬网页,能用官方 API 就不要解析 HTML。
  • 清洗比爬取更重要:单位统一、报告期对齐、字段映射,这些脏活累活决定了最终分析能不能用。
  • 校验不可少:抽样核对原始财报,是数据可信度的底线。
  • 合规要守住:控制频率、尊重 robots、不越付费墙。

掌握了这套流程,一个行业几十上百家公司的资产负债数据,几小时内就能拿到并完成初步分析,比手工整理效率高两个数量级。

推荐学习书籍 《CDA一级教材》适合CDA一级考生备考,也适合业务及数据分析岗位的从业者提升自我。完整电子版已上线CDA网校,累计已有10万+在读~ !

免费加入阅读:https://edu.cda.cn/goods/show/3151?targetId=5147&preview=0

数据分析师资讯
更多

OK
客服在线
立即咨询
客服在线
立即咨询