盐城官方媒体监测
概述
本技能从盐城市及各区县的官方媒体源(公众号、报纸)抓取最新文章内容, 自动生成一个响应式HTML聚合页面,按媒体源分类展示文章标题、摘要、 正文预览和原文链接。
媒体源覆盖范围
完整媒体源列表详见 references/media_sources.md,共覆盖 46 个源,涵盖三大类官方媒体平台:
市级媒体(9个源)
- 盐阜大众报(ycnews.cn):盐城要闻、社会民生、公告、教育、警方、法治、外媒看盐城 共7个栏目
- 盐城广播电视总台(0515yc.cn):盐城广电官网
- 盐城发布(wap.yancheng.gov.cn):盐城市政府
区县级媒体(37个源)
每个区县同时覆盖 盐阜大众报区县新闻栏目 和 区县政府网站多个栏目:
| 区县 | 盐阜大众报栏目 | 政府网站栏目 | |------|---------------|-------------| | 亭湖区 | 亭湖新闻 | 要闻、宣传、通知公告、区外看亭湖 | | 盐都区 | 盐都新闻 | 政务资讯、综合资讯、部门动态、镇区动态、通知公告 | | 大丰区 | 大丰新闻 | 要闻、部门动态、镇区快讯、公告公示 | | 东台市 | 东台新闻 | 今日东台 | | 射阳县 | 射阳新闻 | 政务资讯、射阳日报 | | 阜宁县 | 阜宁新闻 | 政务资讯、基层动态、通知公告 | | 滨海县 | 滨海新闻 | 今日要闻、镇区报道、部门报道、通知公告 | | 响水县 | 响水新闻 | 响水发布、响水日报 | | 建湖县 | 建湖新闻 | 建湖发布 | | 开发区 | 开发区新闻 | — | | 盐南高新区 | 盐南高新区新闻 | — |
关键特性
- 分页抓取:政府CMS分页(index.html → index_1.html → index_2.html),每源最多抓5页
- CDATA解析:支持政府CMS datastore/CDATA模式
- 严格日期过滤:
--days 3参数确保只保留最近3天文章,旧数据自动丢弃 - 无数量限制:每源最多500篇,一篇不漏
使用方式
本技能直接从政府网站新闻列表页面抓取最新文章,通过日期过滤确保只保留近期数据。
前置条件
依赖安装(首次使用前执行一次):
C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe -m pip install requests beautifulsoup4 lxml -i https://mirrors.aliyun.com/pypi/simple/
全量抓取(推荐)
C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe \
~/.workbuddy/skills/yancheng-media-monitor/scripts/scrape_yancheng_media.py \
--days 3 \
--output <输出目录>/yancheng_media.html
指定媒体源抓取
C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe \
~/.workbuddy/skills/yancheng-media-monitor/scripts/scrape_yancheng_media.py \
--sources "盐城发布,射阳发布" \
--days 3 \
--output <输出目录>/yancheng_media.html
快速模式(不抓正文,仅标题+日期+链接)
C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe \
~/.workbuddy/skills/yancheng-media-monitor/scripts/scrape_yancheng_media.py \
--no-content \
--days 3 \
--output <输出目录>/yancheng_media.html
同时保存JSON数据
C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe \
~/.workbuddy/skills/yancheng-media-monitor/scripts/scrape_yancheng_media.py \
--save-json <输出目录>/data.json \
--days 3 \
--output <输出目录>/yancheng_media.html
从JSON数据生成HTML(备用)
当网络无法访问政府网站时,可手动采集数据后生成HTML:
C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe \
~/.workbuddy/skills/yancheng-media-monitor/scripts/scrape_yancheng_media.py \
--from-json data.json \
--output yancheng_media.html
脚本参数说明
| 参数 | 说明 |
|------|------|
| --output, -o | HTML输出路径,默认 yancheng_media_YYYY-MM-DD.html |
| --sources, -s | 指定媒体源名称,逗号分隔 |
| --from-json | 从JSON文件生成HTML(跳过抓取) |
| --no-content | 仅获取标题+日期+链接,不抓取正文 |
| --save-json | 将抓取结果同时保存为JSON |
| --days | 只保留最近N天的文章(默认: 3天,设0为不过滤) |
添加自定义媒体源
编辑 scripts/scrape_yancheng_media.py 中的 MEDIA_SOURCES 列表,添加配置项:
{
"name": "媒体名称",
"category": "区县分类",
"type": "wechat", # "wechat" / "newspaper" / "tv"
"keywords": "搜索关键词",
"search_type": "gov_website", # 固定为 gov_website
"gov_url": "https://www.xxx.gov.cn/col/colXXXX/index.html", # 新闻列表页URL
}
查找新闻列表页URL的方法:
- 访问政府网站首页
- 找到"政务资讯"、"要闻"、"XX日报"等栏目
- 复制该栏目页面的URL(通常格式为
/col/colXXXX/index.html) - 确保该页面包含带日期的文章列表
数据源说明
所有46个媒体源均直接抓取政府网站/新闻网新闻列表页面,详见 references/media_sources.md。
每日自动化
使用 WorkBuddy 的自动化功能设置每日定时执行:
- 创建自动化任务,设置
scheduleType: "recurring",rrule: "FREQ=DAILY" - 自动化 prompt 示例:
运行盐城媒体监测抓取脚本,将HTML输出到当前工作目录。
使用脚本路径: ~/.workbuddy/skills/yancheng-media-monitor/scripts/scrape_yancheng_media.py
Python路径: C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe
参数: --days 3 --output yancheng_media.html --save-json yancheng_media_data.json
技术要点:
- 部分政府CMS使用
<datastore>+ CDATA 模式加载文章列表,脚本已自动处理 - 分页抓取:政府CMS
index.html→index_1.html→index_2.html,最多5页 - 日期从文章链接周围HTML元素或URL路径中提取
--days参数严格控制只保留近期文章(默认3天),旧数据自动丢弃
输出页面特性
生成的HTML页面包含:
- 顶部统计面板(媒体源数、成功采集数、文章总数)
- 全文搜索功能(实时过滤文章)
- 按区县/媒体分类导航
- 文章卡片展示(标题、来源、时间、摘要)
- 正文展开预览(点击"展开正文")
- 图片灯箱查看
- 响应式布局(适配手机和桌面)
Scan to join WeChat group