Use the bundled scripts for official-site data first.
Use web_search for recent news.
Use Scrapling StealthyFetcher for 台灣棒球維基館 (awards history, player career data) — the site uses Anubis protection that blocks standard fetch tools, but Scrapling's stealth browser can access it.
Do NOT use web_fetch or Playwright for twbsball — they will be blocked by Anubis.
StealthyFetcher to fetch 台灣棒球維基館.references/api-endpoints.md before assuming the data does not exist.scripts/cpbl_live.py 即時比分 今日賽況 指定日期賽況scripts/cpbl_games.py 已完賽結果 歷史比賽scripts/cpbl_schedule.py 賽程scripts/cpbl_standings.py 戰績 排名scripts/cpbl_stats.py 球員與排行榜數據uv run skills/cpbl/scripts/cpbl_live.py --output text
uv run skills/cpbl/scripts/cpbl_live.py --date 2026-04-01 --team 兄弟
uv run skills/cpbl/scripts/cpbl_games.py --year 2025 --limit 10
uv run skills/cpbl/scripts/cpbl_schedule.py --month 2026-04 --all
uv run skills/cpbl/scripts/cpbl_standings.py
uv run skills/cpbl/scripts/cpbl_stats.py --year 2025 --category batting --top 10
A 一軍例行賽 預設B 一軍明星賽C 一軍總冠軍賽D 二軍例行賽E 一軍季後挑戰賽F 二軍總冠軍賽G 一軍熱身賽H 未來之星邀請賽X 國際交流賽PresentStatus shows "比賽中" but /box/getlive returns GameStatus=3, the script corrects the status to "已結束" automatically.Xh Xm format (e.g. 3h23m).If a request is about schedule, check memory/cpbl_schedule_YYYY.md first.
Refresh the cache when the file is missing, stale, or the requested range extends beyond the cached range.
Recommended refresh command
uv run skills/cpbl/scripts/cpbl_schedule.py --month YYYY-MM --all
To check today's postponement announcements, fetch the official news page:
https://cpbl.com.tw/news
Look for the latest "延賽公告" entry. The live script now auto-detects postponed games (0:0 + no winning/losing pitcher).
台灣棒球維基館 (twbsball) 自 2026-05 起啟用 Anubis v1.25.0 防護機制。
web_fetch、tavily_extract、Playwright 無法存取該站。
使用 Scrapling StealthyFetcher 可以正常存取(已驗證)。
scrapling 直接抓取維基館頁面(已驗證可用)web_search / tavily_search — 搜尋引擎快照使用 skills/cpbl/.venv 裡的 scrapling,不要用 web_fetch 或 Playwright。
安裝(首次使用前):
# 1. 建立 venv 並安裝依賴(如果 .venv 不存在)
cd skills/cpbl && uv venv && uv pip install -e .
# 2. 安裝 stealth browser(Scrapling StealthyFetcher 需要)
.venv/bin/scrapling install --force
from scrapling.fetchers import StealthyFetcher
page = StealthyFetcher.fetch(
"https://twbsball.dils.tku.edu.tw/wiki/index.php?title=中華職棒年度最有價值球員",
headless=True,
wait=10000,
)
text = page.css("#mw-content-text")[0].get_all_text()
print(text)
CLI 替代方案(適合一次性查詢,需先執行安裝步驟 2):
skills/cpbl/.venv/bin/scrapling extract stealthy-fetch \
"https://twbsball.dils.tku.edu.tw/wiki/index.php?title=中華職棒年度最有價值球員" \
result.md --ai-targeted --wait 10000
注意事項:
wait=10000 (毫秒) 讓 Anubis PoW 挑戰完成,頁面載入後才抓StealthySession 複用同一個 browser 實例:from scrapling.fetchers import StealthySession
with StealthySession(headless=True) as session:
page1 = session.fetch("https://twbsball.dils.tku.edu.tw/wiki/index.php?title=中華職棒年度最有價值球員")
text1 = page1.css("#mw-content-text")[0].get_all_text()
page2 = session.fetch("https://twbsball.dils.tku.edu.tw/wiki/index.php?title=中華職棒年度最佳新人獎")
text2 = page2.css("#mw-content-text")[0].get_all_text()
中華職棒年度最有價值球員 (MVP)中華職棒年度最佳新人獎 (新人王)球員姓名 (球員生涯資料)https://twbsball.dils.tku.edu.tw/wiki/index.php?title=頁面標題Read these only when needed
references/api-endpoints.md official-site endpoint behavior and quirksreferences/summary.md project background and current limitationsreferences/test-report.md prior investigation detailsweb_fetch/Playwright 無法存取,使用 Scrapling StealthyFetcher 可以正常讀取(見上方 History and awards 段落)。共 4 个版本