今天你 AI 赋能了吗?打开浏览器,在地址栏输入 xuefulu.ai,按下 Enter 即可访问学府路1号!
2026年10月17日 星期六 12:32:20
常用网址:案例设计 | 案例导航 | 学府路1号 https://xuefulu.ai | 下载 WorkBuddy https://xuefulu.ai/WorkBuddy.html

一、案例背景与采集目标

前两个案例采的是校园新闻网,那是「讲给人听的故事」;这一篇换一个新物种:通知公告。两者最大的区别一句话就能说清:新闻的干货在正文里,公告的干货常常在附件里。一条公告的正文可能只有一句话——「具体名单见附件」,真正的数据躺在一个 .xlsx 或 .pdf 文件里。

示范站点还是我们学校,不过换到另一个栏目:广州城市理工学院 · 校务公开(也就是通知公告栏目),网址 https://www.gcut.edu.cn/tzgg/list.htm。它和案例01的校园新闻网是同一套建站系统(webplus 站群),列表页与分页写法几乎一模一样,但多出了最关键的最后一跳——从详情页再进到附件文件。

1.1 为什么公告值得单独做一课

1.2 这个案例要拿到什么

做完你会得到三样东西:一张 615 行的公告主表(一行一条公告)、一张 附件清单表(一行一个文件,一条公告可以对应多个文件)、以及一个按「公告年月 / 公告标题 / 原始文件名」分好目录的 附件归档文件夹。换句话说:以后要查「今年的创新创业训练计划立项名单」,你不必再一条条翻网页,直接在自己的归档里搜文件名就行。

1.3 站点结构速查(动手前先认识它)

部位长什么样我们从中取什么
列表页网址形如 /tzgg/list.htm、/tzgg/list2.htm … 一直到 list39.htm标题、详情页相对地址、发布日期
列表项每条公告包在 <li class="news-list-section-item"> 里标题、链接、日期三个字段一次取全
标题陷阱列表上显示的文字末尾直接断在「…」完整标题藏在 <a title=…> 属性里,必须取 title
分页页脚有 <em class="all_count">615</em> 与 <em class="all_pages">39</em>共 615 条、39 页、每页 16 条
详情页/2025/0620/c217a197202/page.htm,由「日期文件夹 + c217栏目号 + 文章号」拼成正文、发文单位落款、附件
附件(PDF)用 wp_pdf_player 内嵌预览,真实地址在 pdfsrc 属性里附件下载地址、原始文件名
附件(Office)一个图标 icon_xls.gif 配一个 <a href=…> 链接,指向 /_upload/article/files/…附件下载地址、原始文件名
原始文件名藏在 sudyfile-attr 的 title 里;下载地址里是一串 UUID 名字用来给下载下来的文件命名

1.4 三个绕不开的难点

难点具体表现对策
附件是三级跳列表页只有公告链接,附件在详情页里,附件的真实地址还要再解析一层分三层推进:先收公告链接 → 再进详情页找附件 → 最后批量下文件
文件名不能直接用下载地址形如 /_upload/article/files/be/29/…/af1bc5c6-….pdf,一串 UUID 谁也不知道是什么用 sudyfile-attr 里的原始文件名保存,否则过几天自己也认不出
有没有附件不一定615 条里大部分公告正文就是全文,有的一条挂 1 个文件,有的一条挂 3 个主表按公告一行、附件另立一张「附件清单表」一行一个文件,两边用公告序号关联
多栏目会重复同一份公告有时同时发在「校务公开」和「招标采购」等栏目用详情页地址做唯一键去重,同一份公告只留一条
最后一页怎么停末页的「下一页」按钮依然在,点下去会跳空用页脚的「共 615 条、尾页 list39.htm」判停,或采到页脚标记的末页自动结束
先立三条规矩,和案例01一致、但这一篇更要强调第三条:只采集面向公众公开、无需登录的信息;控制频率(本案例并发不超过 8、每个请求之间留 1 秒以上,下载的是文件、更占对方带宽);只下公文附件本身——像拟录取名单这类附件里可能含有身份证号、手机号等个人信息,这些内容即使挂在公开页面上也不要采集、不要外传。

目标站点与交付产物

下表是本篇用到的真实站点。绿色是课堂可稳定复现的示范站点;橙色是延伸站点,多数有登录墙或风控,课堂上只讲结构、原理与合规边界,不教绕过。

项目内容
示范站点广州城市理工学院 · 校务公开(通知公告)
https://www.gcut.edu.cn/tzgg/list.htm
webplus 站群的通知公告栏目,纯静态分页、无反爬;公告是「列表页 → 详情页 → 附件」三级结构,重点在附件的下载与归档
延伸站点
  • 教育部 · 信息公开专栏 http://www.moe.gov.cn/jyb_xxgk/(部委公告与规范性文件,附件以 PDF 为主)
  • 广东省教育厅 · 公示公告 http://edu.gd.gov.cn/zwgknew/gsgg/(省级公告,结构相近,可换站复用)
  • 中国政府采购网 · 采购公告 http://www.ccgp.gov.cn/cggg/(招标采购公告,附件多、常含表格)
交付产物
  • 数据明细.xlsx(公告台账 Sheet + 附件清单 Sheet + 字段字典)
  • 附件归档目录(按「年月_文号_原始文件名」命名,附清单可核对)
  • 数据看板.html(各栏目发布量 + 附件类型占比 + 发布日历)
  • 技能压缩包(公告采集 + 附件三级下载 + 原始文件名保留规则)
难度★☆☆ 低
合规提示校园公开公告可采集;招标公告里可能含联系人电话,只取公告与附件,不采集个人联系方式;附件下载要控制频率,避免影响学校服务器。

二、数据源与字段设计

目标站点:广州城市理工学院 · 校务公开(通知公告),网址 https://www.gcut.edu.cn/tzgg/list.htm。

项目内容
站点名称广州城市理工学院 · 校务公开(通知公告栏目)
入口网址https://www.gcut.edu.cn/tzgg/list.htm(翻页为 /tzgg/list2.htm … list39.htm)
栏目与编号栏目代号 tzgg、栏目号 217,详情页形如 /2025/0620/c217a197202/page.htm
站点类型webplus / 苏迪科技 站群,服务端渲染的静态列表页,无需登录、无验证码
实际规模公告 615 条、共 39 页、每页 16 条
附件存放真实文件放在 /_upload/article/files/… 下,以 UUID 命名
延伸站点教育部 http://www.moe.gov.cn/、广东省教育厅 http://edu.gd.gov.cn/,以及本校站群里「招标采购」等栏目(换掉网址里的栏目代号就能复用同一套字段)

2.1 先定字段,再动手

公告这类数据的字段设计有一个关键决定:一条公告可能挂好几个附件。如果硬把「文件名 / 类型 / 大小 / 地址」塞进公告主表的同一个单元格,后面既没法按文件筛选、也没法统计「全校一年下了多少份 PDF」。所以本案例要设计两张表:主表一行一条公告,清单表一行一个文件,用「公告序号」关联。

2.2 公告主表(15 个字段)

下表就是本案例的验收标准。前 6 个来自列表页与详情页,中间 7 个是附件的派生字段,最后 2 个是分析用的统计字段。

字段名字段含义示例值口径与备注
序号按发布日期倒序的公告编号1采集后统一重排,保证可追溯
标题公告标题原文关于第十九届“挑战杯”全国大学生课外学术科技作品竞赛推报国赛作品的公示取自列表项 <a title=…> 的 title 属性;列表上显示的文字被截断了,不能直接抄
所属栏目这条公告发布在哪个栏目校务公开多栏目合并时用来标明来源
详情页地址补全后的绝对地址https://www.gcut.edu.cn/2025/0620/c217a197202/page.htm相对地址要补 https://www.gcut.edu.cn;这一列同时是去重用的唯一键
发布日期列表页上的日期2025-06-20news-list-section-item-time,一般与详情页 article-time 一致
发文单位公告落款单位教务处从正文末尾的落款段落解析;常见「教务处 / 学生处 / 招标办 / 招生办」
文号公文编号粤教高函〔2024〕12号只在转发上级文件时出现,格式不统一;解析不到就留空,不要硬编
附件数量这条公告挂了几个附件1没有附件的记 0(这类公告正文本身就是全文)
附件文件名附件的原始文件名关于第十九届“挑战杯”全国大学生课外学术科技作品竞赛推报国赛作品的公示.pdf多个用「;」分隔,取自 sudyfile-attr 里的 title
附件类型附件是什么格式PDF取值 PDF / DOC / XLS / 其他,便于分类归档
附件大小附件的体积812 KB页面不提供,下载后按实际字节数(或响应头 Content-Length)补上
附件下载地址文件的真实绝对地址https://www.gcut.edu.cn/_upload/article/files/be/29/09cac20f413d9f7f2c80348142f3/af1bc5c6-a89b-49af-a8be-2441aaca8813.pdf以 /_upload/article/files/ 开头,注意补全域名;多个用「;」分隔
是否含表格附件或正文里有没有表格是有 xls/xlsx 附件,或正文含 table 元素,即为「是」
正文字数正文去标点后的字数386用来区分「长文通知」与「一句话+附件」的公示
采集日期本次采集的执行日期2026-10-08审计字段,便于多次采集合并

2.3 附件清单表(一行一个文件)

这张表是公告主表的「下钻」,也是本案例的交付重点——它才是真正记录「下载了哪些文件」的地方。

字段名字段含义示例值口径与备注
公告序号关联到主表的第几条1与主表「序号」一一对应,可回查公告
公告标题冗余一份标题关于第十九届“挑战杯”…作品的公示方便在清单表里独立查看,不必回主表
附件序号同一条公告内的第几个附件1一条公告有多个附件时从 1 开始编号
附件原始文件名文件原名关于第十九届“挑战杯”全国大学生课外学术科技作品竞赛推报国赛作品的公示.pdf来自 sudyfile-attr 的 title
附件类型PDF / DOC / XLS / 其他PDF由扩展名或页面的图标判断
文件扩展名纯扩展名pdf统一小写,便于按类型统计
附件下载地址文件绝对地址https://www.gcut.edu.cn/_upload/article/files/be/29/09cac20f413d9f7f2c80348142f3/af1bc5c6-a89b-49af-a8be-2441aaca8813.pdf补全域名后的完整地址
文件大小(字节)实际字节数831488下载得到,页面不给
本地保存路径归档后的相对路径2025-06/关于第十九届…公示/…公示.pdf按「公告年月/公告标题/原始文件名」组织
下载状态成功 / 失败 / 无附件成功失败的记录原因,方便单独重试

2.4 三个必须写死的口径

两张表比一张表好用得多。主表回答「有哪些公告」,清单表回答「有哪些文件」。要统计「今年全校下了多少份 Excel」时,直接对清单表分组就行。

AI 助手小贴士|字段设计里最容易漏掉的一环是「一对多」。一旦一个公告对应多个附件,就要主动想到拆成两张表,否则后面全是麻烦。

打开 WorkBuddy 或任意 AI 对话工具,试试这样问:我要采集的公告可能一条挂着好几个附件,请帮我把结果拆成两张表:一张公告主表、一张附件清单表,用公告序号关联,并说明两张表分别有哪些字段。

课程思政|数据安全与法治素养 · 公开不等于可以随便采

公文挂在公开页面上,不等于里面的每一个字都能拿来用。公示类附件里常含身份证号、手机号等个人信息,这些属于法律保护的个人信息,即使能打开也不应采集与外传。判断标准不是「我能不能拿到」,而是「我该不该拿、拿了会不会给人添麻烦」。

三、零代码操作步骤

工具与技能|先看清三个角色,再动手

本篇全程零代码:你把要求说清楚,AI 去执行,你负责验收。三个角色分工如下——浏览器技能指的是腾讯开源的 BrowserSkill,它能让 AI 直接操作你电脑上真实的浏览器(可复用已经登录的状态),自己开一个独立窗口干活,不打扰你正在看的网页;遇到验证码、登录或确认弹窗,它会停下来交给你本人处理。

角色负责什么在本案例里具体做什么
你确认字段清单、验收结果、清洗与合规把关盯字段清单、核对结果、处理异常(如验证码)
WorkBuddy接中文指令:探字段 → 批量采 → 清洗 → 导出交付物拆解本篇的采集任务并跑完全量、产出交付物
浏览器技能
BrowserSkill
以真实浏览器打开页面:跑脚本渲染、滚动 / 翻页 / 点开详情、截图留证;可复用本机浏览器已登录状态,遇到验证码或登录弹窗会停下来交给你处理打开通知公告列表与一篇带附件的公告详情页,确认附件链接在详情页的哪个位置

五步操作主线(全课程统一,每一篇都按这个顺序推进):

  1. 定目标与字段:先看本篇第二节的字段表,把「要哪几列、每列什么口径、要多少条」说清楚——字段清单就是验收标准,说不清就会拿回一张字段乱七八糟的表。
  2. 现场踩点(浏览器技能 BrowserSkill):打开 https://www.gcut.edu.cn/tzgg/list.htm,确认列表上的标题有没有被截断、附件(PDF / Word)出现在详情页的什么位置。
  3. 小样试采(WorkBuddy):先采前 2 页共 32 条公告主表,先不下附件。
  4. 核对与清洗:① 标题整列末尾是不是都带省略号(带了说明抄了截断文字,要改成取 title 属性);② 附件文件名与类型齐不齐;③ 发文单位与文号有没有拆成两列。
  5. 导出与归档:导出交付物(数据明细表 / 可筛选明细页 / 数据看板 / 可复用的技能包),文件名带上采集日期,并写清数据来源、采集时间与已知局限。
起手一句话(可直接复制):用浏览器技能 BrowserSkill 打开 https://www.gcut.edu.cn/tzgg/list.htm(广州城市理工学院 · 校务公开(通知公告)),把这一页每条记录能采到的字段名和示例值列出来,先不要采集。

下面是在 WorkBuddy 里完成本案例的完整流程。全程不需要你写一行代码,但「先小样本、再放全量」的节奏要守住。

  1. 打开 WorkBuddy,新建对话,粘贴下一节的「采集任务提示词」(网址就用 https://www.gcut.edu.cn/tzgg/list.htm)。
  2. 先采 2 页列表试水。说「先只采前 2 页、共 32 条公告,先别下附件,把公告主表给我看」。十分钟内先确认标题、日期、字段都对。
  3. 专盯标题有没有省略号。如果「标题」整列末尾都带着「…」,说明抄了列表上截断的文字,立刻要求「改成取 title 属性」。
  4. 再进详情页找附件。说「请进入这些公告的详情页,找出所有附件,把文件名、类型、下载地址列出来,先不要下载」。核对附件认识得对不对。
  5. 小批量试下载。说「先下载这 32 条公告的附件,保存成原始文件名」。挑几个文件点开看看,确认不是坏文件、不是登录页。
  6. 放开全量。说「按同样规则采完全部 39 页、615 条公告,附件全下,已经采过的自动跳过」。这一步耗时较长,让它在后台跑。
  7. 导出并归档。说「导出公告主表与附件清单两张表,附件按 公告年月/公告标题/原始文件名 分目录保存」。
  8. 打开文件夹验收。随机点开两三个目录,看文件名是不是原文、文件能不能正常打开,再核对清单表里的「下载状态」列有没有一堆失败。
附件下载比纯文本采集更「娇气」:文件大、易超时、文件名可能带非法字符。所以第 5 步一定要先小批量试下载,别等全量跑完才发现保存出来的全是坏文件。

四、提示词模板与追问技巧

下面这段可以直接复制。注意三个要点:网址写全、把「标题取 title 属性」和「附件两种写法」交代死、说清附件怎么命名归档。

提示词
请帮我采集广州城市理工学院「校务公开」栏目的通知公告,并下载公告里的附件。

【目标站点】https://www.gcut.edu.cn/tzgg/list.htm
  这个站是 webplus 站群:
  - 分页形式为 /tzgg/list2.htm、/tzgg/list3.htm …,最后一页是 list39.htm
  - 列表每条公告在 <li class="news-list-section-item"> 里,日期在
    <span class="news-list-section-item-time"> 里
  - 注意:列表上显示的标题末尾被截断成「…」,
    完整标题在 <a> 标签的 title 属性里,请取 title

【采集范围】先只采前 2 页做验证,我确认后再采全部(每页 16 条,共 615 条、39 页)。

【需要字段】公告主表一行一条公告,按这个顺序:
  1. 序号(按发布日期倒序,最后统一重排)
  2. 标题(取 <a> 的 title 属性,完整标题,不要用列表上截断的文字)
  3. 所属栏目(校务公开)
  4. 详情页地址(补成完整 https 绝对地址,不要相对路径)
  5. 发布日期(2025-06-20 这种格式)
  6. 发文单位(正文末尾落款,比如 教务处)
  7. 文号(转发文件时才可能有,解析不到就留空,不要编)
  8. 附件数量
  9. 附件文件名(原始文件名,多个用「;」分隔)
  10. 附件类型(PDF / DOC / XLS / 其他)
  11. 附件大小(页面没有,下载后按实际字节数补)
  12. 附件下载地址(/_upload/article/files/… 开头的真实文件地址,记得补域名)
  13. 是否含表格(有 xls/xlsx 附件或正文含表格就填「是」)
  14. 正文字数
  15. 采集日期

【附件怎么找】进详情页后,附件有两种写法,两种都要认:
  - PDF:<div class="wp_pdf_player"
           pdfsrc="/_upload/article/files/…/xxx.pdf"
           sudyfile-attr="{'title':'原始文件名.pdf'}">
  - Office:<img src="/_ueditor/themes/default/images/icon_xls.gif" />
            <a href="/_upload/article/files/…/xxx.xlsx"
               sudyfile-attr="{'title':'原始文件名.xlsx'}">…</a>
  原始文件名在 sudyfile-attr 的 title 里,
  下载地址是 pdfsrc 或 href,两个都要取

【执行要求】
  1. 先在对话里给我一张公告主表预览,我确认后再下载附件
  2. 附件按「公告年月 / 公告标题 / 原始文件名」分目录归档
  3. 附件单独存一张清单表,一行一个文件,带文件大小与下载状态
  4. 并发不超过 8,每个请求之间间隔 1 秒以上,不要给对方服务器压力
  5. 遇到需要登录、验证码的页面就跳过并记录,不要尝试绕过

【导出】公告主表与附件清单各一个 Sheet,文件名 gcut_notice.xlsx

4.1 三条常用追问指令

追问指令
追问一(标题被截断):
  公告主表里的标题很多末尾带着「…」,那是列表页显示时的截断。
  请改成取 <a> 标签 title 属性里的完整标题,逐条重取一遍。

追问二(文件名要还原):
  附件下载地址里是一串 UUID 文件名,完全看不出是什么内容。
  请把附件保存成 sudyfile-attr 里的原始文件名;
  如果原名里带「/」「:」这类不能做文件名的字符,替换成下划线。

追问三(一条公告多个附件):
  有的公告挂了 3 个附件,现在只下到了第一个。
  请把一条公告下的所有附件都下全,并在附件清单表里一行一个文件;
  顺便给每个文件补上实际字节数和下载状态(成功 / 失败 / 无附件)。
先要「清单」再要「文件」。让 AI 把附件清单先列出来给你过目,确认它认对了附件(没有漏、没有把正文里的图片当成附件),再让它批量下载,能省下大量重复下载的时间。

AI 助手小贴士|遇到「看不懂下载地址」的情况,直接问 AI 这个地址的规律,通常比自己去猜快得多——webplus 站群的文件地址格式是固定的。

打开 WorkBuddy 或任意 AI 对话工具,试试这样问:请告诉我 /_upload/article/files/ 这种文件地址的命名规律是什么,并且说明:为什么同一个附件,下载地址里的文件名和它真正的文件名不一样?

课程思政|工匠精神与严谨求实 · 文件名就是数据的身份证

下载几十份附件不难,难的是三个月后还能一眼找到你要的那一份。肯把文件按「年月/标题/原名」分好目录、肯把「下载状态」这一列认真填上的人,交出来的是一个能用的资料库;随手堆在一个文件夹里的人,交出来的是一堆废文件。

五、结果核对、清洗与保存

采集到的公告主表节选(示例数据,均为真实字段形态):

序号标题所属栏目发布日期发文单位附件数量附件类型
1关于第十九届“挑战杯”全国大学生课外学术科技作品竞赛推报国赛作品的公示校务公开2025-06-20校团委1PDF
2关于公示2024年度大学生创新创业训练计划项目优秀指导教师名单的通知校务公开2025-03-13教务处1PDF
3广州城市理工学院2023-2024学年本科教学质量报告校务公开2024-12-09教务处1PDF
4关于公示推荐申报2023年度国家级、省级大学生创新创业训练计划立项项目的通知校务公开2023-06-07教务处1XLS
5关于推荐参加广东省第六届高校(本科)青年教师教学大赛人选名单的公示校务公开2022-05-19教务处0—

对应的附件清单表节选,注意第 4 条公告的附件是 Excel 表格,第 5 条公告没有附件:

公告序号附件序号附件原始文件名附件类型文件扩展名下载状态
11关于第十九届“挑战杯”全国大学生课外学术科技作品竞赛推报国赛作品的公示.pdfPDFpdf成功
21附件:2024年度大学生创新创业训练计划项目优秀指导教师名单.pdfPDFpdf成功
31广州城市理工学院2023-2024学年本科教学质量报告.pdfPDFpdf成功
41附件:拟推荐申报2023年度国家级、省级大学生创新创业训练计划立项项目名单.xlsxXLSxlsx成功
5—(无附件)——无附件

5.1 五步清洗,一句话一条

清洗指令
① 链接补全与去重:
   把「详情页地址」补成绝对地址,按该列去重,
   同一份公告发在多个栏目时只留一条,并把「所属栏目」记为第一次出现的那个。

② 标题去省略号:
   检查「标题」列,凡末尾带「…」的都是截断标题,
   统一改回取 <a> 的 title 属性,去掉多余空格(有的标题中间夹了全角空格)。

③ 附件字段拆分:
   把主表里「附件文件名 / 附件类型 / 附件大小 / 附件下载地址」按「;」拆开,
   对齐成附件清单表的一行一个文件,用公告序号回连主表。

④ 类型与大小规整:
   文件扩展名统一小写(XLSX→xlsx);
   文件大小统一换算成字节数,再派生出「可读大小」(KB / MB)一列。

⑤ 输出交付:
   先给我公告主表与附件清单两张 Excel,再生成一个可筛选的明细网页;
   附件按「公告年月 / 公告标题 / 原始文件名」分目录归档。

5.2 命名与归档

文件命名
gcut_notice.xlsx           公告主表 + 附件清单,两个 Sheet
gcut_notice.html           可筛选、可排序的公告明细网页
attachments/               附件归档目录
  2025-06/                 按公告年月分目录
    关于第十九届挑战杯…公示/
      关于第十九届挑战杯…公示.pdf
  2024-12/
    广州城市理工学院2023-2024学年本科教学质量报告/
      广州城市理工学院2023-2024学年本科教学质量报告.pdf
download_failed.jsonl      下载失败清单(地址 + 原因),供单独重试
原始链接与下载文件一定要留着。公告有时效性——有些栏目几年后可能改版甚至下线,你今天下的这份 PDF,将来可能就是唯一还能打开的副本。原始版本永远不覆盖。

AI 助手小贴士|核对附件要「两个数对得上」:主表里「附件数量」这一列求和,应该等于附件清单表的行数。对不上就说明有附件漏采或重复。

打开 WorkBuddy 或任意 AI 对话工具,试试这样问:请帮我核对:公告主表里附件数量列的总和,与附件清单表的行数是否一致?如果不一致,请列出哪些公告的附件数量与清单表对不上。

六、常见问题与合规红线

6.1 这个站点上最容易踩的五个坑

现象原因怎么处理
标题整列末尾都带着「…」抄了列表页显示时被截断的文字要求改成取 <a title=…> 属性里的完整标题
下载下来的文件名是一串 UUID,认不出内容直接用下载地址里的文件名保存了改成用 sudyfile-attr 里的原始文件名保存,非法字符替换成下划线
一条公告只下到了第 1 个附件详情页里有多个附件块,只识别了第一个要求遍历详情页里所有附件块,清单表一行一个文件
附件下载一半失败、保存成 0 字节大文件超时,或触发了频率限制放慢速度、失败自动重试一次,仍失败的记入清单表的「下载状态」列
「文号」这一列全是日期或者干脆是空的公示类公告本来大多就没有文号,硬填就成了假数据口径写死:解析不到就留空,不要用其它字段顶替

6.2 三条合规红线(每个案例都要过一遍)

  1. 只采公开信息。校务公开栏目的公告是学校主动公开的信息,可以采;但需要登录才能看到的内容一律不采,附属附件里的身份证号、手机号等个人信息即使公开也不要采集。
  2. 控制频率。本案例并发不超过 8、请求之间留 1 秒以上;附件多为大文件,更要放慢速度,对方 robots.txt 明确禁止的路径一律不碰。
  3. 不越权使用。采集结果与附件只用于课堂分析与个人查阅;引用公文须注明来源与原文链接,不篡改公文内容,不把他人姓名等个人信息整理后对外发布。
下载附件比翻网页「重」得多。一次全量下载几百个文件,给对方服务器带来的压力远大于翻列表页。所以更要克制:控制并发、留足间隔、失败不硬刚。遇到需要登录或验证码的公告,正确做法是跳过并记录,而不是想办法绕过。

课程思政|诚信与职业操守 · 公文可以下载,但不能改一个字

通知公告是有严肃效力的文件,一个日期、一个数字都关系到别人的权益。采集它、保存它没问题,但绝不能篡改后传播——把「公示」改成「正式发布」、把名单里的名字换掉,都是踩线行为。数据工作者的底线很简单:如实保存,注明来源,不做任何加工后再冒充原文。

七、随堂自测(10 题)

点击选项即可判分,答错的题会立刻显示解析。

已答 0 / 10 · 正确 0 —

1案例03 与案例01 最核心的区别是?

  • A. 案例01 采列表页,案例03 采详情页
  • B. 案例01 需要登录,案例03 不需要登录
  • C. 案例01 采「新闻 + 正文」,案例03 采「公告 + 附件文件」,重点在附件的下载与归档
  • D. 案例03 只采前 3 页,案例01 采全部
答案:C。两个案例同源同系统,区别在采集对象:01 抓正文,03 抓附件文件,多出「详情页→附件」这最后一跳。

2列表页上公告标题末尾显示成「…」,正确做法是?

  • A. 直接用列表上显示的截断标题
  • B. 取 <a> 标签 title 属性里的完整标题,列表上显示的只是被截断的版本
  • C. 进详情页后从正文里重新找标题
  • D. 手动把省略号补全
答案:B。列表为了排版把标题截断,只有 title 属性里是完整标题;不写死这条口径,整列标题都会带省略号。

3校务公开栏目里,公告附件的真实下载地址在哪里?

  • A. 在详情页里:PDF 看 pdfsrc 属性、Office 附件看 <a> 的 href,都指向 /_upload/article/files/ 下的真实文件
  • B. 在列表页每条公告的链接里
  • C. 需要先登录才能看到
  • D. 在网站首页的导航栏里
答案:A。附件在详情页里,PDF 用 pdfsrc、Office 用 href 指向文件真实地址,往往还要补全域名。

4下载下来的附件,文件命名应该用什么?

  • A. 沿用下载地址里那串 UUID 文件名
  • B. 按附件序号统一叫 1、2、3
  • C. 用公告标题改名
  • D. 用 sudyfile-attr 里的原始文件名保存,保证以后一看就认得
答案:D。下载地址里是 UUID 命名,看不出内容;原始文件名藏在 sudyfile-attr 的 title 里。

5一条公告挂了 3 个附件,主表应该怎么处理?

  • A. 只保留第一个附件,其余丢弃
  • B. 把这条公告拆成 3 行放主表
  • C. 主表仍是一行一条公告,另立一张「附件清单表」,一行一个文件
  • D. 把 3 个文件名挤进一个单元格
答案:C。公告与附件是一对多关系,拆成主表 + 附件清单表,才能按文件筛选与统计。

6判断公告列表翻页到最后一页,最稳的依据是?

  • A. 一直点「下一页」,直到页面报错为止
  • B. 看页脚:每页 16 条、共 615 条、尾页是 list39.htm,到末页就停
  • C. 采满 100 页就停
  • D. 按当天的日期估算
答案:B。页脚给出了每页条数、总条数与尾页页码,据此判断末页最稳妥,不会多翻或漏翻。

7关于公告里的「文号」,正确的口径是?

  • A. 公示类公告大多没有文号,能解析到就填、解析不到留空,不硬编造
  • B. 每一条都一定有文号,缺的就是采漏了
  • C. 全站文号格式统一,可以放心批量解析
  • D. 没有文号就用发布日期顶替
答案:A。文号只在转发上级文件时出现且格式不统一,缺失属正常,用日期顶替会污染整列数据。

8「附件大小」这个字段页面上没有,应该怎么来?

  • A. 按附件个数估一个
  • B. 统一填 0 留空
  • C. 用公告正文字数代替
  • D. 文件下载下来后,按实际字节数或响应头里的 Content-Length 补上
答案:D。附件大小要靠下载后的实际字节数或响应头获得,页面本身不提供这个信息。

9某公告附件是一份拟录取名单,里面有身份证号与手机号,正确做法是?

  • A. 既然是公开的,就一并把身份证号、手机号都采下来
  • B. 只采公文标题与附件文件名,不采集、不外传附件里的个人信息
  • C. 先采下来,打码之后再传给别人
  • D. 把附件原样转发到班级群里
答案:B。公文中含个人信息的部分受法律保护,即使能打开也不应采集与外传,这是合规底线。

10把「校务公开」与「招标采购」等多个栏目合并采集时,去重依据应该用哪个字段?

  • A. 用详情页地址做唯一键去重,同一份公告只留一条
  • B. 用标题去重
  • C. 用发文单位去重
  • D. 用发布日期去重
答案:A。标题可能重复、日期可能相同,只有详情页地址是唯一的,用它去重才不会误删或漏删。