闲鱼情报项目产品系统

我要开发同款
proginn09034267322026年03月26日
31阅读

技术信息

语言技术
PythonNginxRabbitMQCSSJavaScript
系统类型
Web
行业分类
企业服务人工智能

作品详情

行业场景

闲鱼等二手交易平台信息分散、更新频繁,商家与研究人员往往需要批量获取商品标题、价格、图片、链接等结构化数据,用于数据分析、选品/竞品监测、关键词扩展以及风险线索筛查。但手工收集成本高且难以规模化,因此需要一套“可分布式、可追踪、可持续运行”的爬虫平台:既能从搜索页稳定抓取商品列表,也能进一步抓取详情页;同时要把图片等资源统一存储,并将结果同步到业务侧系统(如飞书多维表格)

功能介绍

本项目提供端到端的闲鱼采集与智能分析能力,核心功能包括:
1、爬虫任务管理(创建/查询/启动/暂停/取消等),前端可看到任务执行进度;
2、分布式采集架构,Worker 先从列表页抓取基础商品信息,再为每个商品生成详情任务,并通过 RabbitMQ 异步处理;
3、实时日志与状态推送,Worker 的 print/logger 输出会被捕获并通过 Redis Pub/Sub + WebSocket 实时展示到前端;
4、数据落库与资源托管,商品信息写入 MySQL,商品图片/导出文件上传到 MinIO;
5、可选飞书上传,将爬取结果批量写入多维表格并进行限流与重试;
6、AI 关键词扩展与管理,包括“基于商品描述的两阶段分析”提取关键词并可审核;
7、AI 视觉分析,对商品图片进行私域联系方式检测,按置信度规则输出警告与统计摘要;
8、监控与可观测性,提供 Prometheus 指标、OpenTelemetry 分布式追踪,以及健康检查端点。

项目实现

实现上采用“API 服务 + 爬虫 Worker + 存储/消息/监控”的分层架构:后端使用 FastAPI(api/main.py)作为入口,启动时完成 SSH 隧道、数据库初始化、Redis/MinIO 初始化,并注入追踪与指标。爬虫执行侧由 tasks/crawler_worker.py 驱动:列表页任务使用 Redis crawler:keyword_queue 取任务,详情页任务通过 RabbitMQ detail_queue 消费;队列声明带死信交换机/死信队列,用于超时或失败消息的保护与重试。抓取浏览器使用 DrissionPage 的无头 Chromium,并额外实现滑块验证检测/破解(crawler/slider_solver.py),提高页面可达性。图片在抓取时会做格式处理后上传 MinIO(services/storage.py),再由分析服务(services/analysis_service.py)读取图片 URL,调用 Qwen Vision 进行并发受控分析;关键词扩展则使用 Qwen 文本分析服务进行“两阶段:商品理解 + 关键词提取”,结果写入 MySQL。实时日志链路通过 services/output_capture.py 捕获标准输出并写入 Redis 列表,再通过 Pub/Sub 推送,前端 Vue(CrawlerLogs.vue、CrawlerStats.vue)建立 WebSocket 连接展示。最后通过 Docker Compose 部署 MySQL/Redis/MinIO/Prometheus/Grafana/Jaeger 等配套组件,实现从采集、分析到监控的闭环。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论