一、前言
在金融数据分析场景中,新浪财经的上市公司盈利能力数据是行业研究、投资分析的重要数据源。本文将从需求拆解→技术选型→浏览器分析→代码实现→结果验证 全流程,讲解如何用 Python 爬取新浪财经 2024 年度第四季度各行业盈利能力数据,并生成包含多行业 Sheet 和统计总结 Sheet 的 Excel 文件,帮助大家掌握实战爬虫开发的核心思路和避坑技巧。
二、需求分析
本次爬虫开发的核心需求可拆解为以下 5 个核心目标,覆盖 “数据采集→数据清洗→数据输出” 全链路:
| 需求阶段 | 具体要求 | 核心目标 |
|---|---|---|
| 数据采集(行业列表) | 访问指定 URL,提取select标签name="s_i"的选项值 + 文本,组成行业键值对 |
获取所有待爬取的行业维度 |
| 数据采集(分页识别) | 基于行业参数,解析分页标签(class=pages)获取总页码数 | 确保爬取行业全部数据,无遗漏 |
| 数据采集(多页数据) | 按指定 URL 格式(行业 + 年份 + 季度 + 页码)爬取所有页面源码(编码 gbk) | 完整获取单行业全量数据 |
| 数据清洗 | 用 pandas 提取 id=dataTable 的表格,股票代码补零至 6 位 | 保证数据格式规范、可用 |
| 数据输出 | 各行业数据写入 Excel 不同 Sheet,新增 “总结” Sheet 统计核心指标(公司数、营收总计、净利润总计、ROE 均值) | 输出结构化、可分析的最终数据 |
核心约束:
- 编码必须适配新浪财经的
gbk格式,否则会出现乱码; - Excel Sheet 名长度限制(最大 31 字符);
- 需适配分页标签无 “共 X 页”、仅展示 “上一页 / 数字 / 下一页” 的场景。
三、浏览器开发工具实操(关键!)
爬取前需通过浏览器开发者工具分析目标网页结构,这是爬虫开发的核心前置步骤,以 Edge为例:
步骤 1:分析行业列表(name=s_i 的 select 标签)
- 打开目标 URL:https://vip.stock.finance.sina.com.cn/q/go.php/vFinanceAnalyze/kind/profit/index.phtml;
- 按CTL+Shift+I打开开发者工具,切换到「Elements」标签;
- 按
Ctrl+F搜索<
1万+


&spm=1001.2101.3001.11974&articleId=156603805&d=1&t=3&u=60bc747a88fe47ae9f6cb56c96672e36)

被折叠的 条评论
为什么被折叠?



