Back to skills
extension
Category: Data & AnalyticsNo API key required

徐州融媒汇总

徐州官方媒体监测技能。从徐州市人民政府(徐州发布·徐州要闻/政声传递/公示公告)、中国徐州网(时政要闻/县域新闻)、徐州日报/都市晨报数字报、各区县荔枝云融媒体平台(static-*.cm.jstv.com)、微信公众号(通过jintiankansha.me聚合平台)、今日头条/澎湃政务号、以及鼓楼区/云龙区/贾汪区/泉山区/铜山区/丰县/沛县/睢宁县/新沂市/邳州市/经开区等12个区县(含港务区)的政府网站抓取最新文章内容,生成六大板块(紧急通报/市级要闻/区县动态/街道镇动态/民生热点/高光事迹)响应式HTML聚合看板页面。共60+个媒体源,覆盖区县+街道/镇两级。当用户提到徐州媒体监测、徐州官方媒体、徐州发布抓取、徐州日报、徐州要闻、区县发布、徐州新闻聚合等关键词时触发此技能。

personAuthor: user_019da7b0hubcommunity

⚠️ 数据完整性重要提示

本技能的数据采集策略已经升级为多渠道并行方案。 单纯依赖政府网站 subPage.html 抓取将遗漏大量内容(尤其是微信公众号和荔枝云融媒体平台发布的每日内容)。

多渠道采集策略

| 渠道 | 覆盖范围 | 采集方式 | |------|---------|---------| | 🏛 政府网站 | 市级+12区县 xz.gov.cn / xzjw.gov.cn 等 | Python抓取(subPage.html) | | 📱 微信公众号 | 各区县官方公众号实时文章 | jintiankansha.me 聚合平台 + WebSearch | | 🌐 荔枝云融媒体 | static-jiawang.cm.jstv.com 等 | WebFetch / WebSearch | | 📡 今日头条 | 各区县发布 头条号 | WebSearch (source:筛选) | | 📰 澎湃政务号 | 各区县 thepaper.cn 政务号 | WebSearch (site:thepaper.cn) | | 📰 数字报 | 徐州日报/都市晨报 | szb.cnxz.com.cn WebFetch | | 🏘 街道/镇 | 澎湃号"书记镇长的一周" | WebSearch (site:thepaper.cn) |

徐州官方媒体监测

概述

本技能从徐州市及各区县的官方媒体源(政府网站、公众号、数字报)抓取最新文章内容, 自动生成一个响应式HTML聚合页面,按媒体源分类展示文章标题、摘要、 正文预览和原文链接。

媒体源覆盖范围

完整媒体源列表详见 references/media_sources.md,共覆盖 40+ 个源,涵盖三大类官方媒体平台:

市级媒体(10个源)

  • 徐州发布(xz.gov.cn):徐州要闻、政声传递、公示公告 共3个栏目
  • 徐州发布(微信):搜狗微信搜索
  • 徐州日报(微信):搜狗微信搜索
  • 中国徐州网(cnxz.com.cn):时政要闻、县域新闻 共2个栏目
  • 数字报:徐州日报、都市晨报电子版

区县级媒体(30+个源)

每个区县同时覆盖 政府网站新闻栏目微信公众号

| 区县 | 政府网站栏目 | 微信公众号 | |------|-------------|-----------| | 鼓楼区 | 新闻中心 | 鼓楼发布 | | 云龙区 | 要闻 | 云龙发布 | | 贾汪区 | 要闻 | 贾汪发布 | | 泉山区 | 泉山要闻、政务联播 | 泉山发布 | | 铜山区 | 要闻 | 铜山发布 | | 丰县 | 丰县要闻 | 丰县发布 | | 沛县 | 沛县要闻、基层动态 | 沛县发布 | | 睢宁县 | 要闻 | 睢宁发布 | | 新沂市 | 要闻 | 新沂发布 | | 邳州市 | 要闻 | 邳州发布 | | 经开区 | 要闻 | 徐州经开区发布 |

关键特性

  • 多CMS适配:支持徐州政府CMS (subPage.html) 和标准政府CMS (/col/colXXXX/)
  • 搜狗微信搜索:弥补公众号内容无法直采的缺口
  • 分页抓取:政府CMS分页(subPage.html → subPage_1.html → subPage_2.html),每源最多抓5页
  • 严格日期过滤--days 3 参数确保只保留最近N天文章,旧数据自动丢弃
  • 无数量限制:每源最多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/xuzhou-media-monitor/scripts/scrape_xuzhou_media.py \
  --days 3 \
  --output <输出目录>/xuzhou_media.html

指定媒体源抓取

C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe \
  ~/.workbuddy/skills/xuzhou-media-monitor/scripts/scrape_xuzhou_media.py \
  --sources "徐州发布-徐州要闻,鼓楼发布(微信),泉山发布-泉山要闻" \
  --days 3 \
  --output xuzhou_media.html

快速模式(不抓正文,仅标题+日期+链接)

C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe \
  ~/.workbuddy/skills/xuzhou-media-monitor/scripts/scrape_xuzhou_media.py \
  --no-content \
  --days 3 \
  --output xuzhou_media.html

同时保存JSON数据

C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe \
  ~/.workbuddy/skills/xuzhou-media-monitor/scripts/scrape_xuzhou_media.py \
  --save-json data.json \
  --days 3 \
  --output xuzhou_media.html

从JSON生成HTML(备用)

当网络无法访问政府网站时,可使用WebSearch/WebFetch手动采集后生成HTML:

C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe \
  ~/.workbuddy/skills/xuzhou-media-monitor/scripts/scrape_xuzhou_media.py \
  --from-json data.json \
  --output xuzhou_media.html

脚本参数说明

| 参数 | 说明 | |------|------| | --output, -o | HTML输出路径,默认 xuzhou_media_YYYY-MM-DD.html | | --sources, -s | 指定媒体源名称,逗号分隔 | | --from-json | 从JSON文件生成HTML(跳过抓取) | | --no-content | 仅获取标题+日期+链接,不抓取正文 | | --save-json | 将抓取结果同时保存为JSON | | --days | 只保留最近N天的文章(默认: 3天,设0为不过滤) |

工作流程

本技能执行时按以下步骤运行:

Step 1: 安装依赖

确保 Python 3.8+ 环境已安装 requests, beautifulsoup4, lxml

Step 2: 执行抓取脚本

python scripts/scrape_xuzhou_media.py --days 3 --output xuzhou_media.html

脚本会自动:

  1. 从 xz.gov.cn 及各区县政府网站抓取新闻列表(subPage.html模式)
  2. 通过搜狗微信搜索获取官方公众号文章
  3. 尝试从 cnxz.com.cn 抓取新闻
  4. 对每篇文章获取正文内容
  5. 按日期过滤,只保留最近N天的文章
  6. 合并去重,生成HTML页面

Step 3: 展示结果

使用 present_files 工具将生成的 HTML 文件展示给用户。

每日自动化

使用 WorkBuddy 的自动化功能设置每日定时执行:

运行徐州媒体监测抓取脚本,将HTML输出到当前工作目录。
使用脚本路径: ~/.workbuddy/skills/xuzhou-media-monitor/scripts/scrape_xuzhou_media.py
Python路径: C:\Users\Administrator\.workbuddy\binaries\python\versions\3.13.12\python.exe
参数: --days 3 --output xuzhou_media.html --save-json xuzhou_media_data.json

添加自定义媒体源

编辑 scripts/scrape_xuzhou_media.py 中的 MEDIA_SOURCES 列表,添加配置项:

{
    "name": "媒体名称",
    "category": "分类(如:鼓楼区)",
    "type": "gov_subpage",    # "gov_subpage" / "sogou_wechat"
    "keywords": "搜索关键词",
    "gov_url": "https://www.xxx.gov.cn/001/001001/subPage.html",
    "gov_base": "https://www.xxx.gov.cn",
}

技术要点

URL路径差异(关键!)

  • 带 xwzx 前缀的区县: 鼓楼(xzgl)、云龙(xzyl)、贾汪(xzjw)、泉山(xzqs)、沛县(px)、睢宁(cnsn)
    • 格式: http://www.xxx.gov.cn/xwzx/001001/subPage.html
  • 不带 xwzx 前缀的区县: 铜山(zgts)、新沂(xy)、邳州(pz)、丰县(chinafx)、市级(xz.gov.cn)
    • 格式: http://www.xxx.gov.cn/001/001001/subPage.html
  • 邳州频道号特殊: 要闻频道为 001002(非 001001)
  • 经开区: xedz.gov.cn DNS不可达,需通过其他渠道采集

解析要点

  • 所有站点使用统一徐州政府CMS: <ul class="module-items" id="list"> 包含文章列表
  • 解析器必须使用 BS4 选择器 (ul.module-items li),不能用简单正则
  • 文章URL格式: /路径/YYYYMMDD/uuid.html(日期连写无分隔符)
  • 日期来源: <span class="module-date">YYYY-MM-DD</span>
  • 分页: subPage.html → 1.html → 2.html → ...(最多150+页)
  • 文章页面在HTML中静态渲染,不需要JS执行,Python requests 直采即可
  • cnxz.com.cn 为 JS 渲染站点,需结合 WebSearch 采集

输出页面特性

生成的HTML页面包含:

  • 顶部统计面板(媒体源数、成功采集数、文章总数)
  • 全文搜索功能(标题、来源、正文内容实时过滤)
  • 按区县/媒体分类导航(sticky置顶)
  • 文章卡片展示(标题、来源、时间、摘要)
  • 正文展开预览(点击"展开正文")
  • 图片灯箱查看
  • 响应式布局(适配手机和桌面)
  • 滚动监听导航高亮