介绍
# Naver News Search
使用 Naver 搜索 API 搜索韩国新闻文章。
## 快速开始
使用提供的脚本搜索新闻:
```bash python scripts/search_news.py "검색어" --display 10 --sort date ```
选项: - `--display N`:每页显示的结果数(1-100,默认:10) - `--start N`:分页的起始位置(1-1000,默认:1) - `--sort sim|date`:按相关性(sim)或日期(date,默认:date)排序 - `--after DATETIME`:仅显示此时间之后发布的新闻(ISO 8601 格式,例如 `2026-01-29T09:00:00+09:00`) - `--min-results N`:要获取的最小结果数(启用自动分页) - `--max-pages N`:自动分页时尝试的最大页数(默认:5) - `--json`:输出原始 JSON 而不是格式化文本
## 设置
### 环境变量
来自 https://developers.naver.com/ 的必需凭证:
```bash NAVER_CLIENT_ID=your_client_id NAVER_CLIENT_SECRET=your_client_secret ```
**配置位置:** - **沙箱(默认):** 添加到 OpenClaw 配置中的 `agents.defaults.sandbox.docker.env` - **主机:** 添加到 OpenClaw 配置中的 `env.vars`
### 获取 API 凭证
1. 访问 https://developers.naver.com/ 2. 注册一个应用程序 3. 启用“검색”(Search) API 4. 复制 Client ID 和 Client Secret 5. 将凭证添加到相应的配置部分(见上文)
## 常见用例
### 关于某个主题的最新新闻
```bash python scripts/search_news.py "AI 인공지능" --display 20 --sort date ```
### 使用相关性排序进行搜索
```bash python scripts/search_news.py "삼성전자" --sort sim ```
### 按时间过滤(仅限最近的新闻)
```bash # News published after 9 AM today python scripts/search_news.py "경제" --display 50 --sort sim --after "2026-01-29T09:00:00+09:00" # News from the last hour (programmatic use) python scripts/search_news.py "속보" --after "$(date -u -d '1 hour ago' '+%Y-%m-%dT%H:%M:%S%z')" ```
### 自动分页以保证最小结果数
```bash # Fetch at least 30 results (automatically requests multiple pages if needed) python scripts/search_news.py "AI" --sort sim --after "2026-01-29T09:00:00+09:00" --min-results 30 --display 50 # Limit to 3 pages maximum python scripts/search_news.py "게임" --min-results 50 --max-pages 3 ```
**自动分页的工作原理:** 1. 获取第一页(例如 50 条结果) 2. 应用日期过滤器(例如剩下 10 条结果) 3. 如果低于 `--min-results`,则自动获取下一页 4. 当达到最小值或达到 `--max-pages` 限制时停止
### 分页以获取更多结果
```bash # First 10 results python scripts/search_news.py "경제" --display 10 --start 1 # Next 10 results python scripts/search_news.py "경제" --display 10 --start 11 ```
## 在 Python 代码中使用
直接导入并使用搜索函数:
```python from scripts.search_news import search_news result = search_news( query="경제 뉴스", display=10, sort="date" ) for item in result["items"]: print(item["title"]) print(item["description"]) print(item["link"]) ```
## API 详情
有关完整的 API 参考,包括响应结构、错误代码和速率限制,请参阅:
**[references/api.md](references/api.md)**
## 注意事项
- 搜索查询必须是 UTF-8 编码 - 结果包含搜索词匹配项周围的 `<b>` 标签(去除它们以获取干净的文本) - 每日限额:每个应用程序 25,000 次 API 调用 - `link` 字段根据可用性可能指向 Naver 新闻或原始来源