程序聚合 软件案例 北京新发地网页信息爬取

北京新发地网页信息爬取

2026-07-31 23:56:18
行业:搜索、大数据
载体:网站
技术:Python

业务和功能介绍

一、立项背景和目标
北京新发地农产品批发市场作为全国交易规模最大的农产品专业批发市场,其官网每日发布大量蔬菜、水果等农产品的价格行情数据,涵盖品名、规格、产地、价格区间、发布日期等关键信息。这些价格行情数据分散在多个列表页面中,人工逐条复制品名、最低价、平均价、最高价、规格、产地、单位、发布日期等信息录入 Excel 表格工作量大、效率低下,且分页翻阅统计困难。本项目立项目标:基于 Playwright 自动化浏览器抓取北京新发地农产品批发市场官网多页价格行情数据,自动解析字段并写入 Excel 文件,实现农产品价格数据批量结构化导出,方便后续价格趋势分析、产地分布统计与市场行情归档,同时掌握动态网页分页爬取、XPath 层级定位、openpyxl 表格持久化存储的完整爬虫开发流程。

二、软件功能、核心功能模块介绍
三大核心功能模块

(1)Excel 表格初始化模块:使用 openpyxl 库新建工作簿,创建名为“新发地价格行情”工作表,预先写入表头【一级分类、二级分类、品名、最低价、平均价、最高价、规格、产地、单位、发布日期】,智能设置各列宽度确保数据完整显示,定义全局列表用于临时存储抓取到的结构化数据,为后续数据落地做准备。

(2)浏览器自动化页面交互模块:调用 Playwright 启动本地 Chromium 浏览器,配置可视化运行窗口、操作减速防反爬;自动访问北京新发地农产品批发市场官网价格行情栏目,支持按分类筛选(蔬菜、水果等),自动识别总页数并循环执行分页加载逻辑,每页设置合理等待时间,保证后端动态渲染的价格列表完整加载。

(3)数据解析与表格写入模块:通过层级 XPath 定位每一条价格行情数据 DOM 容器,循环提取一级分类、二级分类、品名、最低价、平均价、最高价、规格、产地、单位、发布日期;增加智能字段清洗逻辑,过滤异常数据和空值,逐条将字段追加写入 Excel 工作表,提供数据去重机制避免重复记录,最终完整保存为本地表格文件。

三、业务流程、功能路径描述
(1)程序初始化:创建 Excel 文件、新建工作表并设置表头及列宽;配置本地 Chromium 浏览器启动路径与反爬兼容参数;提示用户选择需要爬取的农产品分类(默认全部分类);

(2)自动化访问目标网站:打开北京新发地农产品批发市场官网价格行情页面,等待页面完全加载后,通过 XPath 定位分类筛选下拉菜单,根据用户选择模拟点击切换分类,等待列表数据刷新;

(3)分页循环抓取:自动解析总页数,循环执行分页爬取,每一页等待 3-5 秒确保列表数据 JS 渲染完成;定位所有价格行情条目父级容器,获取当前页条目数量;

(4)逐条解析字段:遍历每条条目 DOM 节点,分别提取一级分类、二级分类、品名、最低价、平均价、最高价、规格、产地、单位、发布日期,清洗字符串去除空白字符和无

项目实现

1. 整体架构和设计思路,不同模块使用的技术栈
整体架构
采用 Python 单文件线性执行架构,自上而下分为四层:文件持久化层 → 浏览器驱动层 → 页面交互层 → 数据提取存储层,逻辑简单直观,轻量化无额外中间件,适合小型定向垂直网站数据采集。整体运行流程为:初始化 Excel → 启动浏览器 → 访问目标 URL → 选择分类 → 循环翻页 → 逐条解析 → 写入 Excel → 关闭浏览器。

各模块技术栈
模块 技术选型 用途说明
开发语言 Python 3.12 主编程语言,提供丰富库支持
浏览器自动化 Playwright 同步 API 驱动 Chromium 内核浏览器(本地 Edge/Chrome),解决价格行情列表动态 JS 渲染、接口异步加载无法用静态 requests 抓取的问题;配置 slow_mo 操作延时、wait_for_timeout 页面等待,模拟真人访问行为,规避反爬机制
数据持久化 openpyxl 用于新建 Excel 工作簿、创建工作表、表头写入、行数据追加、列宽设置、本地文件保存,生成可直接打开编辑的 .xlsx 文件
元素定位 绝对路径 + 相对层级 XPath 表达式 通过父容器批量定位 + 内部相对路径二次提取,精准嵌套定位每条价格条目内的品名、价格、规格、产地、日期等子字段
辅助逻辑 while 循环实现自动翻页(直至末页)、try-except 容错处理过滤缺失字段、条件判断进行数据去重和异常值清洗,确保数据质量
2. 本人负责模块与量化成果
本项目为个人独立全流程开发,全权完成代码编写、页面元素调试、分页逻辑、Excel 写入、数据清洗、边界条件限制全部工作:

完成 Chromium 浏览器适配启动配置,支持本地 Edge 或 Chrome 调用,解决自动化操作过快被网站风控拦截的问题(通过 slow_mo=300 和随机延时模拟人类浏览);

编写首页访问、分类菜单点击(支持蔬菜、水果等分类切换)的自动化交互逻辑,并实现页面加载完成后的等待机制;

设计动态分页抓取方案:自动解析页面底部总页数信息,使用 while 循环逐页抓取,每页设置 3-5 秒等待时间保障数据加载完整性;

编写多层嵌套 XPath 定位规则,拆解十个目标字段(一级分类、二级分类、品名、最低价、平均价、最高价、规格、产地、单位、发布日期),对价格字段进行数值格式化(移除“元/斤”等后缀,转换为浮点数),对空值和异常字符进行智能清洗与默认值填充;

对接 openpyxl 实现自动建表、表头填充、列宽自适应、逐条数据追加写入,并在写入前进行去重校验,避免同一数据重复记录;

增加异常处理机制:当某条数据缺失关键字段(如品名或价格)时自动跳过并记录日志,不中断整体抓取流程。

量化成果:可稳定抓取全部分页(通常 30-50 页

示例图片视频


Aaron
24小时内活跃
方向: 爬虫/脚本-爬虫/脚本、
交付率:100.00%
相似推荐
AI记账小程序-前途账本
核心功能概述 前途账本是一款智能记账小程序,核心特色是AI 驱动的对话式记账。用户可以用自然语言与 AI 角色对话完成记账,系统自动识别意图、提取金额和分类,并以角色化口吻回复。 1.1 AI 对话记账 功能描述:用户通过自然语言与 AI 助手(清漪师妹/凌霄师弟)对话,完成记账操作。系统自动识别记账意图、提取金额/分类/时间,并以角色化口吻反馈。 核心特性: - 双角色系统:支持师妹(温柔亲切)/师弟(干练爽朗)两种人设切换 - 意图智能识别:自动区分记账、问答、闲聊三种场景 - 三层记忆机制:短期窗口(6轮对话) + 用户画像 + 长期事实记忆 - 财务快照注入:回答财务问题时自动注入本月/上月收支统计 - 自然语言时间:支持"昨天""上周五""3天前"等时间表达 业务流程: 用户输入:"今天午餐花了50" ↓ 意图识别:记账(record) ↓ 信息提取:金额50元、分类"三餐"、时间"今天" ↓ AI回复:"师妹给你记一笔,这就是吃饭花了50灵石呗~" ↓ 展示确认卡片:[支出 -50.00元 | 分类:三餐 | 时间:2025-01-20] ↓ 用户点击"帮我记下吧" → 调用云函数保存交易记录 ↓ AI回复:"好嘞,已经帮掌门记下啦!" 1.2 传统手动记账 功能描述:表单式记账界面,支持精确输入收支信息。 核心特性: - 收入/支出类型选择 - 自定义分类管理(三餐、交通、娱乐、工资等) - 金额、备注、时间精确输入 - 九宫格数字键盘快速输入 1.3 数据统计与可视化 功能描述:多维度展示收支数据,帮助用户洞察财务状况。 核心功能: - 首页看板:当日/本周/本月收支汇总,折线图展示趋势 - 图表统计页:收支趋势图、分类占比饼图、月度对比柱状图 - 日历视图:按日期查看每日收支明细,点击日期查看详情 - 搜索功能:关键词搜索历史交易记录 1.4 存钱计划管理 功能描述:创建和跟踪存钱目标,可视化进度展示。 核心特性: - 设置目标金额和截止日期 - 进度条实时展示完成度 - 手动更新已存金额 - 计划完成提醒 1.5 用户系统 功能描述:多种登录方式和个人信息管理。 核心特性: - 邮箱注册:邮箱 + 验证码注册,密码 SHA-256 加密存储 - 邮箱登录:支持密码登录和验证码登录双模式 - 微信一键登录:小程序平台专属,通过 wx.login 实现 - 个人中心:修改昵称、头像、性别、签名等信息
腾讯公益项目-QQ地震预警
1、为了帮助全国人民在发生地震时争取宝贵避险时间,于是在拥有6亿活跃用户的手机QQ内上线了地震预警功能。 2、主要包括两个板块,第一个是用户订阅需要提醒的地理位置和地震强度,地理位置选择接入了腾讯地图,默认获取离用户当前最近的地点;第二个是地震来临时,主动推送到订阅用户的手机上,用户点开后即可看到地震波到达订阅地点的倒计时以及破坏程度和避险动作。
桌面端AI工具-计划官·三视图智能管家(Windows版)
一、业务和功能介绍: 立项背景:日常任务管理工具要么太简单(只能打勾),要么太复杂(Notion/Jira级别的学习成本)。计划官解决的是"用说话的方式管理任务"——用户输入一句自然语言,AI自动拆解成结构化任务,同时用三种视角帮用户看清计划的全貌 二、核心功能模块: 1. AI自然语言解析:接入DeepSeek API,用户输入"下周前完成Q3报告,记得找张经理要数据"这类日常表达,AI自动提取任务名、截止时间、备注,结构化存入本地。支持批量操作指令,比如"把采购相关的任务全部标记完成" 2. 三视图切换:事务表(层级树,10级中文标号:壹、一、1、A、a……)、时刻表(按DDL日期分组的时间线视图,逾期标红)、条件图(节点连线依赖图,AND/OR逻辑,实线虚线区分)。三种视图共享同一份数据,任意切换 3. 多表管理:类似Excel的Sheet概念,可以建多个表分别管理不同场景(工作、学习、生活),每个表独立存储,支持新建、切换、重命名、关闭 4. 文件导入:支持Docx和TXT导入,自动检测编码(UTF8/GBK/ANSI),识别已有标号体系直接解析,非结构化文本走AI解析 5. 10级中文标号系统:从"壹、"到"(a)",完整支持50以内的中文大写数字和26进制字母进位,自动编号、重整序号 6. 日期推进:假期/出差后一键推进所有未完成任务的日期,弹窗询问"延续/修改/合并",记录处理方式 7. 每日事务:标记为每日事务的任务隔天自动重置为进行中状态 8. 前置依赖:任务间可设置AND/OR前置条件,条件图用实线/虚线+汇聚点可视化展示 三、业务流程:启动程序 -> 设置API Key(首次) -> 在输入框打字描述任务 -> AI解析并自动分配标号、加入事务表 -> 在时刻表查看时间安排 -> 在条件图检查依赖关系 -> 完成后勾选复选框 -> 数据自动保存到本地JSON
亿街区社区 O2O 微服务平台
本项目是面向中高端住宅小区的一站式社区 O2O 微服务平台,覆盖住户、物业、线下商户三类用户群体。平台集成物业公告通知、线上物业费缴纳、一键报修派单、上门维修服务、快递代收、业主满意度调研等全链路社区生活功能;打通业主缴费、物业工单、商户服务数据,实现小区生活服务线上闭环,满足小区日常管理与居民便民需求。
驱蚊降温物设备联网控制小程序
1、本项目为物联网智能设备管控系统,整体分为两大核心硬件设备体系,分别是智能驱蚊设备与空调外机降温设备,针对两类设备的运行管控、数据监测、参数调节开发配套软硬件联动功能,满足不同场景的设备运维需求。 2、项目采用成熟物联网传输架构,所有终端设备统一接入有人云 DTU 4G 网关设备完成网络数据转发,依托 4G 网络实现终端设备与服务端的稳定通信;后端通过 MQTT 消息处理程序,完成设备实时数据接收、指令下发、数据交互与传输校验,保障终端设备与后台、小程序端的数据实时同步、通信稳定可靠。 3、负责微信小程序端核心设备管控功能开发,支持对所有接入系统的驱蚊、降温设备进行全方位远程操控。可远程实现设备启停控制、运行参数自定义调节,包括温度阈值、风压参数精准设置;同时配备设备专属运维功能,支持冬季一键排水开关控制,适配冬季设备防冻运维需求,且可自由切换设备手动、自动运行模式,灵活适配不同使用场景。 4、小程序端集成线上商城系统,搭建完整的自助采购业务模块,面向终端客户开放设备、配套耗材的线上选购、自助下单功能,打通设备使用、运维耗材采购一体化服务,提升用户使用便捷度与项目商业化完整性。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服