程序聚合 软件案例 东方财富实时行情爬虫

东方财富实时行情爬虫

2026-01-14 22:40:29
行业:金融
载体:爬虫/脚本
技术:Cheerio、Selenium

业务和功能介绍

股票数据获取:实时抓取A股今日涨幅前30和跌幅前30的股票
股票代码、名称、最新价、涨跌额、涨跌幅
热门板块分析:获取近30天热门板块数据
板块名称、热度(涨跌幅)、排名
双模式运行:
API模式:直接调用东方财富API(速度快)
Selenium模式:浏览器模拟(备用方案,抗检测)
自动切换:API失败时无缝切换到Selenium
防检测机制:
随机User-Agent、代理支持
执行防检测JS脚本(隐藏WebDriver特征)
广告拦截JS脚本
验证码处理框架(预留接口)
定时刷新:每10秒自动更新数据,终端实时显示

项目实现

EastMoneyCrawler/
├── 数据采集层 (get_stocks_by_api/get_sectors_by_selenium等)
├── 防检测层 (execute_js_scripts/随机化处理)
├── 业务逻辑层 (自动切换/数据整合)
└── 展示层

1.API数据获取 Requests 2.31+ JSON解析 高效获取结构化数据
2.浏览器自动化 Selenium 4.15+ ChromeDriver 备用方案,应对API限制
3.防检测系统 JavaScript ES6+ DOM操作、事件模拟 隐藏自动化特征
4.广告拦截 CSS选择器 请求拦截重写 提升爬取效率
5.配置管理 Python字典 环境变量 灵活参数调整
6.日志系统 logging模块 多级日志记录 故障排查与监控
7.验证码框架 插件式设计 第三方API接口 处理复杂验证场景
2. 防检测系统三层架构
指纹层:覆盖12个浏览器检测点(webdriver、plugins、mimeTypes等)
行为层:模拟鼠标移动(随机轨迹)、键盘输入(A-Z随机)
请求层:轮换User-Agent、支持代理池、随机请求延迟
我的负责模块与量化成果
一、主要负责模块
核心爬虫架构设计(100%):定义类结构、接口规范、数据流
双模式自动切换系统(100%):实现API优先+Selenium备用的智能决策
防检测集成框架(85%):JS脚本注入执行、行为模拟调度
数据解析兼容层(90%):多选择器策略、异常容错处理
配置文件管理系统(100%):参数外部化、环境适配

遇到的难点与解决方案
难点一:网站反爬虫检测高强度
问题表现:

初期直接使用Selenium,封禁率达70%
API请求频率限制(>5次/分钟触发验证码)
浏览器指纹检测(webdriver、plugins等12个检测点)

解决方案:

三重防检测体系:

javascript
// 1. 指纹隐藏(覆盖12个检测点)
难点二:API稳定性与数据完整性
问题表现:

东方财富API偶发性返回空数据(约15%概率)
接口参数复杂,文档不完整
数据字段映射关系模糊

# API失败自动切换Selenium
if (not gainers or not losers) and not self.api_failed:
self.api_failed = True
return self.get_top_stocks() # 递归调用,自动走Selenium分支

Selenium资源管理与性能
问题表现:

ChromeDriver内存泄露(运行2小时后内存占用>1GB)
浏览器启动慢(冷启动>15秒)
广告元素干扰数据定位

解决方案:

广告拦截JS注入:
Driver生命周期管理:

示例图片视频


24小时内活跃
方向: 爬虫/脚本-爬虫/脚本、
交付率:100.00%
相似推荐
智能跟单系统
系统需实时接收处理从寄递平台同步的邮件收寄及轨迹等信息,数据量日常约为20亿,双十一高峰期间峰值约为30亿,对业务人员指定的约100种异常进行实时跟踪处理。寄递平台通过ESB接口每天实时将邮件收寄及轨迹信息同步到跟单系统,系统通过分布式加工处理后,分库分表存储到10套Oracle生产数据库中,再通过OGG实时将数据同步至40套计算库中进行异常分析计算,再将分析出的异常结果交由分单服务进行异常分单,分单结果再交由调度系统进行调度处理。
固定资产运营与管理系统
此系统是为某城市建设投资集团有限公司开发的固定资产运营与管理系统,基于新一代协同运营平台理念开发,覆盖多种国有资产类型的全生命周期管理,以提高企业资产运营运行可靠性与使用价值为目标,降低资产的养护维修成本、提升运行质量,提升企业资产运营效能。 资产管理方面,包含基础信息管理、办公用品管理、办公资产管理、车辆资产管理、IT资产管理、生产经营设备管理、不动产管理、无形资产管理、产权管理、合作企业信息管理、产权盘点等功能模块。 资产运营方面,包含不动产租赁(登记、计划、台账、审批、维修、巡查、备案等)、国有资产交易、存量资产管理、资产处置管理、保险登记、股权信息登记、安全生产排查等功能模块。 此系统标准化功能与灵活定制共存,支持按照个性化需求,灵活调整用户标识、权限、流程、基础数据。助力国资企业理清家底、盘活资产保值增值和增强资产监管。
某港口智能运行与绿色能源智能评价软件
此系统是为某港务集团定制的一款专为大型集装箱港口智能运行与绿色能源智能评价设计的软件系统,按照智慧、绿色、高效、安全四个维度,形成反映自动化集装箱码头、集装箱水平运输系统和公路集疏运系统等不同作业场景生产运行和用能需求特征的指标集及评价方法,能够接收来自现有推送服务发送的指标数据和手动录入的指标数据,涵盖了基本的运行数据采集、运行数据管理、运行指标评价、运行数据和评价指标可视化展示、评价报告管理等功能。系统采用了模块化设计,具有高度的可操作性与可扩展性,使用简便,功能强大,测试运行稳定可靠,具有较强的实用性。此外,系统设计允许通过灵活配置API参数来接收不同来源的数据;同时利用统计分析、订阅发布机制、异步处理等核心技术,进行数据的实时核查与补充,并通过Web容器在前端页面进行展示。系统具备优秀的平台型架构,并且提供了易于扩展的二次开发接口和数据交互接口,方便用户挖掘更多增值服务潜力,并与其他系统集成。
潜伏式AGV小车-潜伏式AGV小车
该项目旨在为山东蔚克数控机械有限公司目标客户生产载重一吨的可自动运输货架的运输机器人。 1.使用AutoCAD Electrical设计整体原理图。 2.使用Altium Designer设计驱动板。 3.电机控制程序功能(使用Orin NVIDIA Jetson开发板):使用 C 编写速度环、位置环。PWM输出给伺服/BLDC驱动器。可通过 CAN 与工业PC交互。 4.电池控制程序功能:BMS 端用 C/C++ 配置报警阈值。IPC端用 Python 或 C++ 获取电量、电流、电压数据,用于调度与续航监控。 我们在项目中。
基于RFID的布草管理系统
1.背景:解决传统布草管理“追踪难、订单乱、数据滞后”痛点,通过RFID技术实现布草从洗涤、配送、使用到回收的全生命周期管理。 2.功能介绍:包含司机收送布草的清点,布草洗涤订单执行;酒店/民宿客户布草下单及订单统计分析;洗涤厂对与洗涤量的统计分析,对于布草的管理追溯,布草位置分布、组成等的统计分析,以及协助洗涤厂提高配货精确度; 3. 流程:布草入库->酒店下单->司机配送->酒店使用-->司机收取->洗涤厂洗涤->洗涤后入库->配货->再次循环...
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服