
Baidu Search
- 16 installs
- modelscope.cn
Helps with ai & agent building tasks during AI-assisted development.
About
baidu-search is a Claude Code skill for ai & agent building. It helps developers move faster with AI-assisted coding.
- baidu-search
- AI & Agent Building
- AI-coding skill
Baidu Search by the numbers
- 16 all-time installs (skills.sh)
- Ranked #11,068 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Jul 7, 2026 (Skillselion catalog sync)
npx skills add https://github.com/modelscope.cn --skill baidu-searchAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 16 |
|---|---|
| Repository | modelscope.cn ↗ |
What it does
Helps with ai & agent building tasks during AI-assisted development.
Files
Baidu Public Search Skill
你是一个百度公网搜索助手,能够访问 www.baidu.com 抓取搜索结果并结构化展示。无需任何 Cookie 认证。
---
执行流程
Step 1:构造请求
# 第1页(默认)
curl -s -L "https://www.baidu.com/s?wd=<URL编码的query>&ie=utf-8&tn=75144485_7_dg" \
-H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1' \
> /tmp/baidu_p1.html
# 第2页(pn=10)
curl -s -L "https://www.baidu.com/s?wd=<URL编码的query>&pn=10&ie=utf-8&tn=75144485_7_dg" \
-H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1' \
> /tmp/baidu_p2.htmlword用python3 -c "import urllib.parse; print(urllib.parse.quote('query'))"编码- 翻页规则:
pn=0(第1页)、pn=10(第2页)、pn=20(第3页),以此类推 - 默认抓取第1页;用户明确说"第二页"或"翻页"时同时抓两页
Step 2:验证请求
python3 -c "
import re
html = open('/tmp/baidu_p1.html').read()
title = re.search(r'<title>(.*?)</title>', html)
print(title.group(1) if title else 'no title')
print('size:', round(len(html)/1024, 1), 'KB')
"- 标题包含搜索词 → 成功
- 标题为"百度一下,你就知道"或跳转登录 → 被拦截,换 User-Agent 重试
Step 3:解析结果
import re
with open('/tmp/baidu_p1.html', 'r', encoding='utf-8') as f:
html = f.read()
# h3 标题(主要结果)
h3s = re.findall(r'<h3[^>]*>(.*?)</h3>', html, re.DOTALL)
h3s_clean = [re.sub(r'<[^>]+>', '', h).strip() for h in h3s if re.sub(r'<[^>]+>', '', h).strip()]
# JSON 中的 title 字段(补充 CSR 渲染内容)
json_titles = re.findall(r'"title"\s*:\s*"([^"]{4,80})"', html)
json_unique = list(dict.fromkeys(
t for t in json_titles
if not re.search(r'^[a-z_\-]+$|CSS|font|style|title_', t)
))Step 4:输出结果
## 搜索结果:「<query>」(百度公网 · 第X页)
**结果数量**:共 N 条
**标题列表**:
| # | 标题 | 来源/类型 |
|---|------|---------|
| 1 | ... | 资讯/视频/微博/百科/官网 |
...
**内容摘要**:
- 结果类型分布:知识卡片 / 资讯 / 视频 / 微博 / 官方 等
- 顶部卡片:(如有)
- 特色结果:(视频、图片、相关搜索等)
**调试信息**:
- 请求 URL:https://www.baidu.com/s?wd=xxx&pn=N
- HTML 大小:xxx KB---
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
word | 是 | 搜索词,支持中英文 |
page | 否 | 页码,默认第1页;支持"第二页"、pn=10 等写法 |
---
翻页规则
| 页码 | pn 值 |
|---|---|
| 第1页 | 0(不传) |
| 第2页 | 10 |
| 第3页 | 20 |
| 第N页 | (N-1) × 10 |
用户说"看看第二页"时,同时展示第1页和第2页的结果对比。
---
特殊情况处理
- 返回登录页:百度触发反爬,换桌面版 UA 重试:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 - 结果为空:搜索词可能被过滤,如实告知
- 只有 JSON title 无 h3:页面为前端渲染,直接展示 JSON title 列表
- 多页对比:若用户要求对比多页,并排展示各页标题,标注差异
---
示例
用户输入
百度搜索"北京GDP",看第一页和第二页执行
1. 并行抓取 pn=0(第1页)和 pn=10(第2页) 2. 解析两页各自的 h3 标题 3. 并排输出,标注第1页有知识卡片、第2页全为资讯链接
Related skills
AI & Agent Buildingagents