Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/mhkz/fanqie-novels-skills --skill fanqie-screenshot명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
SOC 직업 분류 기준
| name | fanqie-screenshot |
| description | 截图番茄小说榜单页面 - 支持新书榜、阅读榜的可视化截图,用于市场分析和竞品研究 |
| allowed-tools | Read, Bash |
当用户需要截取番茄小说榜单页面时使用此技能。
截图榜单、榜单截图、扫榜截图、screenshot rank、截图番茄
需要安装 Playwright(首次使用会自动安装):
# 创建虚拟环境并安装
python3 -m venv /tmp/playwright_env
source /tmp/playwright_env/bin/activate
pip install playwright -q
python -m playwright install chromium
https://fanqienovel.com/rank/{gender}_{type}_{category_id}
参数说明:
gender: 1=男频, 0=女频type: 1=新书榜, 2=阅读榜category_id: 分类ID| ID | 分类名 | ID | 分类名 |
|---|---|---|---|
| 1141 | 西方奇幻 | 1140 | 东方仙侠 |
| 8 | 科幻末世 | 261 | 都市日常 |
| 124 | 都市修真 | 1014 | 都市高武 |
| 273 | 历史古代 | 27 | 战神赘婿 |
| 263 | 都市种田 | 258 | 传统玄幻 |
| 272 | 历史脑洞 | 539 | 悬疑脑洞 |
| 262 | 都市脑洞 | 257 | 玄幻脑洞 |
| 751 | 悬疑灵异 | 504 | 抗战谍战 |
| 746 | 游戏体育 | 718 | 动漫衍生 |
| 1016 | 男频衍生 |
| ID | 分类名 | ID | 分类名 |
|---|---|---|---|
| 1139 | 古风世情 | 8 | 科幻末世 |
| 746 | 游戏体育 | 1015 | 女频衍生 |
| 248 | 玄幻言情 | 23 | 种田 |
| 79 | 年代 | 267 | 现言脑洞 |
| 246 | 宫斗宅斗 | 539 | 悬疑脑洞 |
| 253 | 古言脑洞 | 24 | 快穿 |
| 749 | 青春甜宠 | 745 | 星光璀璨 |
| 747 | 女频悬疑 | 750 | 职场婚恋 |
| 748 | 豪门总裁 | 1017 | 民国言情 |
#!/usr/bin/env python3
"""番茄小说榜单截图工具"""
from playwright.sync_api import sync_playwright
import os
from datetime import datetime
# 分类映射
MALE_CATEGORIES = {
"1141": "西方奇幻", "1140": "东方仙侠", "8": "科幻末世",
"261": "都市日常", "124": "都市修真", "1014": "都市高武",
"273": "历史古代", "27": "战神赘婿", "263": "都市种田",
"258": "传统玄幻", "272": "历史脑洞", "539": "悬疑脑洞",
"262": "都市脑洞", "257": "玄幻脑洞", "751": "悬疑灵异",
"504": "抗战谍战", "746": "游戏体育", "718": "动漫衍生",
"1016": "男频衍生"
}
FEMALE_CATEGORIES = {
"1139": "古风世情", "8": "科幻末世", "746": "游戏体育",
"1015": "女频衍生", "248": , : ,
: , : , : ,
: , : , : ,
: , : , : ,
: , : , :
}
():
url =
categories = MALE_CATEGORIES gender == FEMALE_CATEGORIES
cat_name = categories.get((category_id), )
gender_str = gender ==
type_str = rank_type ==
timestamp = datetime.now().strftime()
filename =
output_path = os.path.join(output_dir, filename)
sync_playwright() p:
browser = p.chromium.launch(headless=)
page = browser.new_page(viewport={: , : })
page.goto(url, wait_until=, timeout=)
page.wait_for_timeout()
page.screenshot(path=output_path, full_page=)
browser.close()
()
output_path
():
os.makedirs(output_dir, exist_ok=)
categories = MALE_CATEGORIES gender == FEMALE_CATEGORIES
results = []
cat_id, cat_name categories.items():
()
:
path = screenshot_rank(gender, rank_type, cat_id, output_dir)
results.append({: cat_name, : path, : })
Exception e:
()
results.append({: cat_name, : (e), : })
results
__name__ == :
screenshot_all_categories(gender=, rank_type=)
# 激活环境
source /tmp/playwright_env/bin/activate
# 单个分类截图(都市修真新书榜)
python3 << 'EOF'
from playwright.sync_api import sync_playwright
url = "https://fanqienovel.com/rank/1_1_124"
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page(viewport={"width": 1280, "height": 900})
page.goto(url, wait_until="networkidle", timeout=30000)
page.wait_for_timeout(2000)
page.screenshot(path="/tmp/fanqie_rank.png", full_page=True)
browser.close()
print("截图已保存: /tmp/fanqie_rank.png")
EOF
快速截图单个分类:
截图 https://fanqienovel.com/rank/1_1_124
指定分类截图:
截图番茄都市修真新书榜
批量截图:
批量截图男频所有新书榜
/tmp//tmp/fanqie_screenshots/fanqie_{gender}_{type}_{category}_{date}.png