Skip to content

Repository files navigation

政策爬虫与智能简报生成器(macOS Apple Silicon) / Policy Crawler & AI Brief Generator for macOS Apple Silicon

本仓库是 macOS Apple Silicon 版本的源码级分享包,用于抓取科研、工信、发改、财政、人工智能、产业政策和案例信息,并通过 OpenAI-compatible API 一键生成中文科研政策简报。

This repository is the source-ready macOS Apple Silicon edition of a policy crawler and AI-assisted daily brief generator. It collects Chinese research, industry, AI, funding, and policy updates, then uses an OpenAI-compatible API to generate a Chinese research-policy brief.

注意 / Note: 这个 GitHub 仓库不包含便携运行时 runtime/、浏览器登录态 app_data/、历史输出 outputs_app/、本地日志或简报模板。完整便携包可作为 GitHub Release 附件发布;源码仓库适合阅读、二次开发和自行安装依赖运行。

功能概览 / Features

  • 抓取国家部委、地方政府、科技/工信/发改/财政部门、学会、实验室和相关产业信息源。
  • 从官网列表页、站内搜索、Bing 搜索、微信公众号后台历史文章等多个通道采集候选信息。
  • 用规则过滤科研项目、资质申报、奖励申报、人工智能、算力、芯片、服务器、云计算、通信、存储、散热等主题。
  • 支持 Playwright 渲染动态页面,也支持 requests + BeautifulSoup 直连抓取静态 HTML。
  • 支持 DeepSeek、OpenAI、通义千问、智谱、Moonshot/Kimi、火山方舟、SiliconFlow、OpenRouter 和自定义 OpenAI-compatible API。
  • 在本机 PWA 控制台里输入 API Key 后,点击一次即可完成智能筛选、摘要生成和报告导出。
  • 输出 PDF/DOCX/XLSX/JSON,包括日报、来源与关键词说明、爬取记录和失败记录。

爬取哪些网站 / Crawled Sources

主要来源写在 config/sources.json。当前配置包含 57 个来源,其中 53 个默认启用。

国家级来源 / National sources:

  • 科技部 www.most.gov.cn
  • 国家发展改革委 www.ndrc.gov.cn
  • 工业和信息化部 www.miit.gov.cn
  • 财政部 www.mof.gov.cn
  • 国家科学技术奖励工作办公室 www.nosta.gov.cn

北京来源 / Beijing sources:

  • 北京市科委、中关村管委会
  • 北京市发展改革委
  • 北京市经济和信息化局
  • 北京市人才工作局(北京政务专题)
  • 北京市财政局

山东与济南来源 / Shandong and Jinan sources:

  • 山东省科学技术厅、山东省工业和信息化厅、山东省发展改革委、山东省财政厅
  • 济南市科学技术局、济南市工业和信息化局、济南市发展改革委、济南市财政局、济南高新区

江苏与苏州来源 / Jiangsu and Suzhou sources:

  • 江苏省科学技术厅、江苏省工业和信息化厅、江苏省发展改革委、江苏省财政厅
  • 苏州市科学技术局、苏州市工业和信息化局、苏州市发展改革委、苏州市财政局、苏州市吴中区人民政府

河南与郑州来源 / Henan and Zhengzhou sources:

  • 河南省科学技术厅、河南省工业和信息化厅、河南省发展改革委、河南省财政厅
  • 郑州市科学技术局、郑州市工业和信息化局、郑州市发展改革委、郑州市财政局

陕西来源 / Shaanxi sources:

  • 陕西省科学技术厅、陕西省工业和信息化厅、陕西省发展改革委、陕西省财政厅

学会、实验室和行业来源 / Societies, labs, and industry sources:

  • 上海人工智能实验室、中国人工智能学会、中国电子学会、中国通信学会
  • 山东电子学会、山东省人工智能学会、山东省计算机学会、山东通信学会
  • 北京市科协、江苏省科协、河南省科协、陕西省科协、山东省科协

微信公众号来源写在 config/wechat_accounts.json,用于补充行业热点和案例转载类信息。默认关键词覆盖算力、服务器、人工智能、大模型、芯片、科研经费、财政资金、问责等方向。

如何爬取 / How It Crawls

核心入口是 gov_policy_agent.py,本地控制台服务是 tools/local_pwa_server.py

抓取链路 / Crawling pipeline:

  1. 读取 config/sources.json 中的机构名称、层级、官网域名和 seed URL。
  2. 读取 config/site_strategies.json 中的站点专用策略,例如列表链接选择器、正文选择器、是否优先 Playwright、额外 seed URL。
  3. 对每个来源并行抓取列表页,优先使用 requests 直连 HTML。
  4. 如果页面需要 JavaScript 渲染、反爬挑战或列表为空,则使用 Playwright 打开 Chromium 获取渲染后 HTML。
  5. 从列表页抽取候选文章链接,过滤明显非政策链接、医疗健康等不相关条目。
  6. 进入正文页抽取标题、日期、正文、来源、链接和政策信号。
  7. 对动态站点和失败链接进行站内/Bing 搜索补充。
  8. 启用微信公众号搜索时,先通过 --wechat-login 保存本机登录态,再用后台历史文章搜索补充行业热点和案例信息。
  9. 对结果去重、按日期窗口过滤、按主题规则筛选,并生成候选包、Excel 记录和报告文件。

默认 PWA 的“运行日报”按钮会执行类似下面的命令:

python3 gov_policy_agent.py \
  --as-of YYYY-MM-DD \
  --output-dir outputs_app/outputs_refresh_YYYYMMDD_daily \
  --report-bundles summary \
  --pdf-engine auto \
  --enable-wechat-search \
  --cookie-dir app_data/wechat_state \
  --parallel-workers 8 \
  --disable-playwright-repair \
  --disable-llm-review \
  --verbose

API 如何一键生成报告 / One-Click API Report Generation

PWA 页面提供“智能筛选并生成日报”按钮。实现方式如下:

  1. 用户在本机页面选择服务商、API Base URL、模型,并输入 API Key。
  2. 前端 pwa/app.js 调用本地接口 POST /api/generate-brief
  3. 本地服务 tools/local_pwa_server.py 从上一步抓取结果中找到 .runtime/简报候选包_*.json
  4. 服务端把候选政策、行业热点、案例信息压缩成 JSON prompt,调用 OpenAI-compatible API。
  5. 模型返回每条入选内容的 idkey_pointsummary
  6. 服务端写入 .runtime/codex_manual_summary_YYYYMMDD_daily.json
  7. 服务端再执行 gov_policy_agent.py --repair-only --manual-summary-json ...,把摘要回填进最终日报并导出文件。

支持的 API 服务商 / Supported API providers:

  • DeepSeek: https://api.deepseek.com
  • OpenAI: https://api.openai.com/v1
  • 通义千问 / DashScope: https://dashscope.aliyuncs.com/compatible-mode/v1
  • 智谱 AI: https://open.bigmodel.cn/api/paas/v4
  • Moonshot / Kimi: https://api.moonshot.cn/v1
  • 火山方舟: https://ark.cn-beijing.volces.com/api/v3
  • SiliconFlow: https://api.siliconflow.cn/v1
  • OpenRouter: https://openrouter.ai/api/v1
  • 自定义 OpenAI-compatible endpoint

API Key 只通过本机浏览器发送到本机服务,再由本机服务调用模型接口;仓库不会保存你的 Key。Do not commit real API keys.

安装与运行 / Install and Run

源码运行方式 / Source checkout:

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m playwright install chromium
python tools/local_pwa_server.py --workspace .

浏览器会打开:

http://127.0.0.1:8765/

macOS 启动脚本 启动政策爬虫小程序.command 是给完整便携包使用的,会查找 runtime/python/bin/python3。源码仓库没有 runtime/,所以源码运行请使用上面的 Python 命令。

使用步骤 / Usage

  1. 安装依赖并启动本机 PWA。
  2. 在页面选择基准日期。
  3. 第一次使用微信公众号搜索时,按页面提示扫码登录;登录态会保存在本机 app_data/wechat_state/,不要上传。
  4. 点击“运行日报”等待抓取完成。页面会显示进度、日志、已抓取数据和输出文件。
  5. 在“智能筛选”区域选择 API 服务商、模型,输入 API Key。
  6. 点击“智能筛选并生成日报”。
  7. 在“输出文件”里下载 PDF、DOCX、XLSX 或 JSON。

主要配置文件 / Configuration

  • config/sources.json: 官网来源、层级、域名、seed URL。
  • config/site_strategies.json: 站点专用选择器、Playwright 等待条件、额外入口。
  • config/wechat_accounts.json: 微信公众号搜索账号名、范围、优先级和关键词。
  • config/query_templates.json: 专利、标准、论文、技术资讯等检索模板。
  • config/competitor_aliases.json: 竞对或机构别名。
  • config/report_options.json: 报告标题、副标题和模板路径。

本仓库已删除 科研信息简报模板.docx。如果你需要套用 Word 模板,请把模板放回本地,并把 config/report_options.jsontemplate_path 改成你的本机路径;如果模板不存在,程序会用默认空白文档结构生成 DOCX。

输出文件 / Outputs

默认输出目录是 outputs_app/outputs_refresh_YYYYMMDD_daily/

常见文件:

  • 科研信息简报_YYYYMMDD.pdf: 最终日报。
  • 信息来源与搜索关键词_YYYYMMDD.pdf: 来源与关键词说明。
  • 信息来源与搜索关键词使用说明_YYYYMMDD.pdf: 使用说明。
  • 爬取记录和总结_YYYYMMDD.xlsx: 明细、失败记录和统计。
  • .runtime/intelligence_items_latest.json: 本机 PWA 展示用的结构化缓存。
  • .runtime/简报候选包_YYYYMMDD.json: 供 API 智能筛选的候选包。
  • .runtime/codex_manual_summary_YYYYMMDD_daily.json: API 生成的摘要选择结果。

安全与发布注意事项 / Security and Publishing Notes

不要提交以下目录和文件:

  • runtime/: 大型便携运行时和浏览器二进制。
  • app_data/: 浏览器 cookie、微信登录态和 storage state。
  • outputs_app/: 生成报告、候选包和运行缓存。
  • .omx/: 本地 agent 状态和日志。
  • .env, .env.local: API Key 和本机配置。
  • *.zip: 完整便携包应作为 Release asset 发布,不应进 Git 仓库。

The included .gitignore is configured to keep these files out of repository history.

About

政策网站爬取与API一键生成科研信息简报(macOS Apple Silicon) / Policy crawler with API-powered one-click research brief generation for macOS Apple Silicon

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages