# Patent Download

> 专利 PDF 批量下载工具。当用户需要下载专利全文 PDF、查询专利信息、批量导出专利文件时使用。支持多平台（Google Patents 优先），自动处理申请号和公告号格式。

- Skill: `cat-xierluo/patent-download` (Agent Skill, multi-file: 19 files)
- Install (CLI): `npx skillmds@latest add cat-xierluo/patent-download`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cat-xierluo/patent-download/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- License: MIT
- Author: cat-xierluo (https://skillmd.com/u/cat-xierluo)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/cat-xierluo/patent-download

---

# patent-download - 专利下载工具

根据专利号从多个平台下载专利文本（PDF / 摘要 / 全文）。

## 何时用 / 何时不用

**用**：下载专利全文 PDF、批量导出专利文件、查询专利基本信息。
**不用**：专利侵权比对 / 权利要求分析 / 有效性核查等，请用专用分析工具。

## 推荐通道

Google Patents（API、免费免登录）为首选，度衍专利（浏览器）为备选。各平台实测状态、推荐度与接入方式见 `references/platform-status.md`。

## 专利号格式（关键）

用户给的往往是**申请号**（如 `202421964517.8`），Google Patents 用**公告号**（如 `CN223081266U`）索引。两者无数学对应关系，`google_patents.py` 会尝试自动匹配但不保证成功。

完整的申请号/公告号结构、种类代码（A/B/U/S）、发明 A vs B 区别、默认下载规则见 `references/patent-number-formats.md`。

## 使用方法

### 统一入口（推荐）

```bash
# 进入脚本目录（相对 skill 根）
cd scripts

# 查看支持的平台及状态
python cli.py --list

# Google Patents 下载（推荐，免费免登录）
python cli.py google CN223081266U
python cli.py google 202421964517.8      # 申请号自动匹配

# 仅查询专利信息，不下载
python cli.py google CN223081266U --info

# 度衍浏览器自动化（账号自动从环境变量读取）
python cli.py uyanip CN223081266U -m browser

# 批量下载
python cli.py google CN223081266U CN118198150A CN118198150B
```

### 直接调用平台脚本

```bash
python platforms/google_patents.py CN223081266U
python platforms/google_patents.py 202421964517.8 -o ~/Downloads
python platforms/uyanip.py 2024214535561
```

## 凭证（环境变量，公开发布版）

各平台账号通过**环境变量**配置，代码不硬编码、仓库不存储任何账号密码。

命名：`PATENT_<平台>_USERNAME` / `PATENT_<平台>_PASSWORD`（如 `PATENT_UYANIP_USERNAME`）。

配置流程：
1. `cp config/.env.example config/.env`
2. 编辑 `config/.env`，填入你注册的账号（已 .gitignore，不入库）
3. 账号自动从环境变量 / `.env` 加载（`scripts/platforms/_creds.py`，无需额外依赖）
4. **安全自检**：`python scripts/platforms/_creds.py` —— 检查 `.env` 是否被误提交到 git，并显示各平台账号是否就绪（不打印密码）

各平台账号获取方式与 **ToS 合规提示**见 `references/accounts-setup.md`。Google Patents 与 CNIPA epub 为公开免登录，无需配置。

## 参数说明

| 参数 | 说明 |
|------|------|
| `-m, --method` | 下载方式：api 或 browser |
| `-u, --username` | 用户名（默认从环境变量读） |
| `-p, --password` | 密码（默认从环境变量读） |
| `-o, --output` | 输出目录（默认当前目录） |
| `--headless` | 无头模式（浏览器方式） |
| `--info` | 仅查询信息，不下载（仅 Google Patents） |

## 依赖

### 开箱即用（无需安装）

- **Google Patents 信息查询**：`python cli.py google <号> --info` 仅用标准库，零依赖
- **凭证自检**：`python cli.py --list`、`python platforms/_creds.py` 零依赖
- 缺少下述可选依赖时，脚本会打印清晰提示并退出，不会抛晦涩的 `ImportError`

### 需安装依赖

首次下载前按所用通道安装（统一命令：`pip install -r scripts/requirements.txt`）：

| 通道 | 依赖 | 安装命令 |
|------|------|----------|
| Google Patents 下载（推荐） | `patent-downloader` | `pip install patent-downloader` |
| 度衍/粤港澳/PSS 浏览器自动化 | `playwright` + 浏览器 | `pip install playwright && playwright install chromium` |
| PatentStar/epub API 等 | `requests` | `pip install requests` |

一条命令装全部：`pip install -r scripts/requirements.txt`。

## 所需权限与安全说明

本技能会执行本地脚本完成专利下载，涉及以下能力边界，请在使用前知悉：

### 运行时自动安装依赖（请留意）

- `scripts/patent-download.sh` 包装脚本在缺少依赖时会**自动执行 `pip install` 与 `playwright install chromium`**：
  - 首个参数为 `google` 时，若未装 `patent-downloader` 会自动 `pip install patent-downloader`；
  - 其他参数走老版路径时，若未装 `playwright` 会自动 `pip install -r requirements.txt` 并下载 Chromium 浏览器二进制。
- 该自动安装**没有固定版本（unpinned）**，会从网络拉取最新包，存在供应链风险。请知悉：自动安装前建议人工审查 `scripts/requirements.txt`，或改为手动安装（`pip install -r scripts/requirements.txt`）。
- 直接调用 `python cli.py <平台> <专利号>` 不会触发自动安装，缺依赖时只会打印清晰提示并退出。

### 网络访问

- 按用户指定的专利号向外部平台发起网络请求下载专利全文/PDF：Google Patents（API）、度衍、粤港澳、PSS、PatentStar、CNIPA epub 等。请求对象由用户输入的专利号决定，不会上传本地文档内容。
- 使用 `requests` / `patent-downloader` / `playwright`（浏览器自动化）等依赖完成下载。

### 凭证访问

- 各平台账号通过环境变量（`PATENT_<平台>_USERNAME` / `PATENT_<平台>_PASSWORD`）或本地 `config/.env` 读取（见「凭证」章节）。凭证仅用于登录下载，不硬编码、不打印密码。
- 凭据等同账号密码，请勿截图、分享或提交到任何仓库。

### 浏览器自动化

- 部分平台（度衍/粤港澳/PSS）使用 Playwright 驱动 Chromium，支持 `--headless` 无头模式。会在本机启动浏览器进程执行登录与下载操作。

### 文件访问

- 在用户指定输出目录（`-o`，默认当前目录）写入下载的 PDF/文件。

## 更多

- 使用示例与故障排除：`references/examples.md`
- 变更历史：`CHANGELOG.md`

