
Douban Movie Review
- 160 installs
- 47 repo stars
- Updated February 12, 2026
- agentbay-ai/agentbay-skills
Fetch and summarize Douban movie reviews to power recommendation features, content drafts, or review-analysis agent workflows.
About
Automates Douban movie-review collection and analysis for agent workflows: query titles, scrape or fetch ratings and comments, summarize sentiment, and return structured review data for content or recommendation features.
- Douban review retrieval
- review summarization
- movie metadata extraction
- agent-ready output
- Chinese film content sourcing
Douban Movie Review by the numbers
- 160 all-time installs (skills.sh)
- Ranked #641 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/agentbay-ai/agentbay-skills --skill douban-movie-reviewAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 160 |
|---|---|
| repo stars | ★ 47 |
| Last updated | February 12, 2026 |
| Repository | agentbay-ai/agentbay-skills ↗ |
What it does
Fetch and summarize Douban movie reviews to power recommendation features, content drafts, or review-analysis agent workflows.
Files
豆瓣电影影评查询
依赖
python3 -m pip install wuying-agentbay-sdk安装步骤
在使用此技能之前,请确保已安装必要的依赖包:
python3 -m pip install wuying-agentbay-sdk使用场景
- 用户询问某部电影的豆瓣影评
- 用户想了解电影的用户评价
- 用户想查看电影的热门短评
使用方法
python3 scripts/browser-use.py "<任务执行步骤>"
快速示例
python3 scripts/browser-use.py " \ 1. 前往豆瓣网站https://www.douban.com/ \ 2. 搜索电影盗梦空间 \ 3. 点击盗梦空间进入详情界面,下滑到短评部分 \ 4. 提取前5条热门评论 \ 5. 以markdown格式返回 "
输出格式
## 《电影名称》豆瓣影评
### 热门短评
1. 用户名 点赞数 评论内容
2. 用户名 点赞数 评论内容注意事项
- 始终注明信息来源为豆瓣
- 不需要创建新的脚本,用skill目录下的browser-use.py
- 任务需要执行1~2分钟,不要杀进程,请耐心等待和观察任务,也不要重试
- skill调用后,控制台会打印出asp流化链接(可视化的url),可告知用户查看
import os
os.environ["AGENTBAY_LOG_LEVEL"]="CRITICAL"
import logging
logging.disable(logging.CRITICAL)
from agentbay import AgentBay
from agentbay import CreateSessionParams
import asyncio
def get_api_key():
from pathlib import Path
file_path = Path.home() / ".config" / "agentbay" / "api_key"
file_path.parent.mkdir(parents=True, exist_ok=True)
if not file_path.exists():
file_path.touch()
if os.environ.get("AGENTBAY_API_KEY"):
with open(file_path, "w", encoding="utf-8") as f:
f.write(os.environ.get("AGENTBAY_API_KEY"))
try:
with open(file_path, "r", encoding="utf-8") as f:
api_key = f.read().strip()
if not api_key:
api_key = None
except Exception as e:
api_key = None
return api_key
async def main():
import argparse
# 创建解析器
parser = argparse.ArgumentParser(description='wuying-browser-use')
# 添加参数
parser.add_argument('task', help='任务描述') # 位置参数(必需)
args = parser.parse_args()
api_key = get_api_key()
if not api_key:
raise RuntimeError(
"AGENTBAY_API_KEY environment variable is not set. "
"Please visit https://agentbay.console.aliyun.com/service-management to obtain your API key."
)
agent_bay = AgentBay(api_key=api_key)
# Create a session (use an image with browser preinstalled)
params = CreateSessionParams(image_id="browser_latest")
session_result = agent_bay.create(params)
if not session_result.success:
raise RuntimeError(f"Failed to create session: {session_result.error_message}")
session = session_result.session
print(f"asp流化链接: {session.resource_url}")
agent = session.agent
max_try_times = int(os.environ.get("AGENT_TASK_TIMEOUT", 200))
print(f"🚀 Executing task: {args.task}")
result = agent.browser.execute_task(args.task, use_vision=True)
if not result.success:
raise RuntimeError(f"Task execution failed: {result.error_message}")
# 轮询任务状态直到完成
retry_times = 0
query_result = None
while retry_times < max_try_times:
query_result = agent.browser.get_task_status(result.task_id)
if not query_result.success:
raise RuntimeError(f"Task status check failed: {query_result.error_message}")
print(
f"⏳ Task {query_result.task_id} status: {query_result.task_status}, "
f"action: {query_result.task_action}"
)
if query_result.task_status == "finished" or query_result.task_status == "failed":
break
retry_times += 1
await asyncio.sleep(3)
# 检查是否超时
if retry_times >= max_try_times:
raise TimeoutError("Task did not finish within the allowed time")
# 输出最终结果
logging.info(f"✅ Task completed successfully!")
logging.info(f"📊 Task result: {query_result.task_product}")
session.delete()
return query_result.task_product
result = asyncio.run(main())
print(f"Final result: {result}")