立项背景和目标
股票市场情绪分析依赖多维度数据,人工收集同花顺涨跌分布、北证50成交量、股指期货基差等10余类指标耗时易错。本工具旨在自动化爬取15+金融网页,精准解析关键数据,生成标准化的Excel市场监控报表,辅助投资者快速掌握当日市场热度、连板情绪和期货基差。
核心功能模块
数据采集引擎:基于Selenium无头浏览器,处理动态加载页面(如同财问财滚动加载)和交互操作(点击行业Tab)。
智能解析层:利用BeautifulSoup和正则表达式,针对不同网站配置独立解析规则,提取成交量、涨跌停数、连板数、股指基差等指标。
重试与容错机制:单页最多重试3次,重试间隔优化为1.5秒,整体超时控制70秒,保障数据完整性。
Excel自动填充:读取模板文件,将数据按日期行写入Sheet1~Sheet3,自动应用条件格式和样式,生成排版美观的监控表。
业务流程
启动后自动生成日期关键词的问财搜索URL → 依次爬取15个页面(指数成交量、涨跌分布、期货合约、板块热榜等)→ 解析并提取关键数值 → 计算衍生指标(炸板率、加权基差)→ 写入桌面Excel文件的新行或多列 → 输出统计结果并保存。
整体架构与设计
采用模块化设计,分为驱动管理、规则配置、解析器、数据处理、Excel写入五层。爬取引擎使用Selenium+Chrome headless,通过CSS选择器和显式等待应对异步渲染;解析规则集中存储在字典列表中,新增网站只需添加配置项,无需改动核心代码。
负责模块与成果
我独立完成全部开发与优化。实现的指标:
15个URL全自动爬取,成功率98%以上(含3次重试保障)。
单次运行时长控制在60~70秒,较初始方案提速50%。
解析准确率100%(通过元素存在性校验和空值重试机制)。
Excel模板自动识别并追加数据日期行,支持重复运行更新当日数据。
难点与解决方案
异步加载页面数据缺失:针对问财滚动加载,先用JS滚动到底部再等待0.5秒后抓取;对于同花顺行业涨幅榜需点击“行业”Tab,采用显式等待元素出现后再提取,并加入预处理动作机制。
多网站解析兼容性:统一解析接口,每种网站配置专属的wait_selector和parse_function,利用BeautifulSoup精准定位,确保数据抓取稳定。
整体速度与准确性平衡:通过适配0.5秒页面间隔、压缩内部sleep、优化重试等待至1.5秒,同时保留显式等待保障数据加载完成,达到在1分钟左右完成全部采集的目标。