這是什麼
這個網頁把台灣各地(預設看台北市+新北市)的羽球臨打與固定球團資訊集中在一起:四個網站加上你勾選的 Facebook 社團,整理成月曆、週表、當日清單、列表、地圖與統計,每一場都有時間、場館、程度、費用、缺額、用球、聯絡方式與原文連結。
不想讀文字的話,右上角的 🎓 新手教學 會帶你把常用的功能實際做一遍(約三分鐘,亮起來的地方跟著點就好)。練習時標的收藏、改的篩選在結束時會自動還原,不會留下任何紀錄。
第一次使用三步驟
- 用資料夾裡的 開啟行事曆.bat 打開這個網頁(它會啟動一個只在你電腦上跑的小伺服器;更新、設定、我的條件都靠它)。還沒有資料時會先出現一頁開場精靈,跟著它走就好。
- 登入 Facebook:在開場精靈或「設定」頁按那顆鈕(也可以執行資料夾裡的 登入Facebook.bat),在跳出來的 Chrome 登入自己的帳號,只需要這一次。不想綁 FB 也可以跳過——四個公開網站就有全台幾千場。
- 選要讀哪些 FB 社團,再按右上角 🔄 更新資料 等進度條跑完,或到「設定」頁建立每天自動更新的排程。
你看到的是「線上版」
這一份是別人在自己的電腦上更新好之後放上來的,網頁本身不會自己抓資料,所以沒有「🔄 更新資料」和「設定」兩顆鈕。其餘功能完全一樣:篩選、搜尋、地圖、收藏、我的位置、匯出 .ics 都能用,你標的收藏與位置只存在你自己的瀏覽器裡。
想自己更新、自己選要讀哪些 Facebook 社團,到 yubadminton.vercel.app 下載免安裝版(Windows,解壓縮就能跑,不用裝任何東西)。下面提到 .bat 檔與「設定」頁的地方,講的都是那一版。
六種檢視
- 月曆:一次看一整個月。每格上緣一條早/午/晚的小長條與各時段的場數,格子裡只放塞得下的幾場(先排符合「我的條件」的,再來是臨時開團、已確認、推算),其餘用「+N 場」帶過,點它直接進當天的「日」檢視;點日期數字是簡單的當天清單。
- 週:七天為欄、早/午/晚為列,每格可以捲動看全部;點欄首的日期進「日」檢視。
- 日:當天所有場次依場館整理。場館名稱可點進場館頁,旁邊 ☆ 收藏場館;每場顯示時間、球團、程度、費用、約剩幾位、留言 +1、聯絡方式。設了我的位置可以「依距離排序」,右上角可複製清單、匯出 .ics。
- 列表:整月的表格,適合一行一行掃;設了我的位置會多一欄距離。
- 地圖:選一天,左邊是當天有開團的場館清單(點了地圖飛過去並打開場次),右邊地圖用群聚點(拉近會散開)。深灰=有已確認的場次、淺灰=只有推算場次,桃紅大頭針=我的位置;設了距離篩選會畫出範圍圓圈。
- 統計:未來四週、依目前篩選條件的「各區 × 時段」與「星期 × 時段」熱度表、費用與程度分布、最常開團的球團、場次最多的場館(點名稱看場館頁)。
上方的 ‹ › 與「今天」會依檢視換月、換週或換天;地圖用它自己的日期列。
看懂晶片與顏色
19:00大安運動中心L4-L7·$250·剩3
已確認的場次:開打時間、場館,後面是程度、費用、約剩幾位。晶片的顏色一律依程度:綠=新手/初階、紫=中階、金=中高階以上、灰=沒標程度或不限。
20:00三蘆羽球館L6-L9·$250
虛線框=推算:情報站、PlayOne、羽球拼圖列的是每週固定球團,FB 貼文寫「每週幾」的也算,程式把它們往後推到整個月。球團可能臨時休息,出發前請點原文確認。
18:30諾亞羽球館中階·$220·+1×3
FB 的臨時開團晶片顏色跟其他場次一樣(依程度),打開場次會有「臨時開團」標籤;用類型篩選「臨時開團」可以只看它們。「+1×3」是留言裡數到的 3 個報名。
✓19:00大安運動中心【快滿】
桃紅框+✓=你標了「已報名」(★=有興趣)。【快滿】=約剩 2 位以內、【已滿】=貼文寫已滿、團主回覆額滿,或留言 +1 已經達到缺額。
新20:00板橋羽球館新手·$200
「新」=你上次打開這個網頁之後才出現的場次(套用「我的條件」時,改成那組條件上次套用之後)。
顏色只有五種意思:程度色(綠/紫/金/灰,只用在晶片);桃紅=我的(收藏框、已報名/有興趣按鈕、地圖上我的位置);橘色=要注意(新出現、快滿、人工修正過);紅色日期=週末與國定假日(依行政院公告,補行上班的週末不算,會寫出假日名稱);白框(淺色主題是深色框)=今天。可以點的連結=藍色底線。其餘一律灰階:虛線=推算、深灰標籤=已滿/取消、灰色「臨時開團」標籤、格子上緣的長條另外用白=早、藍=午、黃=晚。
月曆格子上的「早12 午30 晚80」是各時段場數,後面的「缺 N」「臨打 N」「條件 N」「新 N」分別是還有缺額、臨時開團、符合我的條件、新出現的場數。
篩選列
- 縣市/區:預設「台北+新北」,可以選全台或任一縣市,「區」會跟著縣市變。貼文沒寫縣市的場次會用社團所屬的縣市歸類(「新竹」的社團在新竹市與新竹縣兩邊都看得到),細節裡註明「未標明(社團屬於新竹)」。
- 程度:跟晶片顏色同一套分類,看場次寫的程度範圍的中間值——5 以下=新手/初階(綠,例如 L1–L5、新手、初階、3–7 級);9 以上或下限就有 8=中高階以上(金,例如 L8–L12、L6–L12、中高階、高階);其餘=中階(紫,例如 L6–L9、L4–L9、5–8 級、中下~中上)。上限開放的(L7–L18、中階以上、8 級以上)只看下限;L1–L18、不限、相差 8 級以上(L4–L12)的太寬,算「不限」(灰)。沒標程度或不限的勾了程度就會被藏起來(狀態列會提醒藏了幾場)。
- 時段:早(12 點前開打)、午(12–17)、晚(17 點後),或直接填開打時間的區間,例如 18:00~21:00。
- 星期、費用上限:多選;費用看每場寫的金額。
- 類型:臨時開團/固定球團/已確認(不含推算)/有缺額(約剩 > 0)/有聯絡/收藏(標了有興趣或已報名的)/收藏館(收藏的場館)。
- 過期的推算不顯示:推算是「依這個球團最後一次公布的資料,每週往後推」。最後那次公布超過三週沒更新的(球團可能早就停了)一律不顯示,狀態列會說藏了幾場。
- 距離:N 公里內,要先設定我的位置。
- 搜尋:場館、球團、關鍵字,也會搜貼文原文;打字時會自動完成場館與球團名稱。
右上角「篩選 ▴」可以把整列收起來,月曆會自動放大到整個視窗。清除 回到預設。
📱 手機
同一個檔案在手機上會自動換成窄版:表頭壓成一行(導覽列可以左右滑)、篩選列預設收起(按「篩選 ▾」展開,之後會記住)、預設開「日」檢視(月曆格子在手機上太小,只顯示場數)、「列表」改成一張張卡片並直接停在今天。把檔案傳給別人或放到網路空間,他用手機開就是這個樣子。
🏸 現在能打
狀態列右邊的 🏸 現在能打:今天還沒開打(或還沒打完)的場次+明天的場次,扣掉已滿與取消,套用你現在的篩選;設了「我的位置」就只看 10 公里內(有選距離就用你選的),並依時間、距離排序。不用自己設一堆條件。
⭐ 我的條件
把常用的篩選存起來,例如「板橋 中階 晚上」。按狀態列右邊的 ⭐ 我的條件:
- 「+ 儲存目前條件」把現在的篩選存成一組(會提議一個名字,可以改)。
- 點任一組就套用;旁邊的「新 N」是上次套用之後新出現、符合這組條件的場數,套用後這些場次會標「新」。
- 更新完成的 Windows 通知會寫「共幾場、本次新增幾場」以及每組條件新增幾場,不用打開網頁也知道有沒有新團。
- 要刪除按條件旁的 ✕。
📍 我的位置與距離
按篩選列的 📍 我的位置,三種設法:輸入地址或地標(例如「板橋車站」或「文化路一段 100 號」)、用瀏覽器目前位置、或在地圖上點一個點。設好之後:
- 篩選「距離」可以只看 2/3/5/10 公里內的場次(沒有座標的場次會被排除,狀態列會說有幾場)。
- 「日」檢視可依距離排序,列表多一欄距離,細節與場館頁也顯示距離;地圖上用桃紅大頭針標出你的位置。
- 位置只存在你自己的電腦裡(data/prefs.json),不會上傳到任何地方。
場次細節
點任何一場(月曆晶片、週表、日檢視、列表的一列、地圖圓點跳出的場次)打開右側的細節:
- 上方六張卡:時間、費用、程度、缺額(有看過留言會寫「約剩 N 位」)、用球、場地數或距離。
- ★ 有興趣✓ 已報名:標記這一場(月曆上會標 ★/✓,篩選「收藏」只看這些;同一場只能擇一,再按一次取消)。標過的場次:更新時會優先去看它的留言(缺額最準),設定頁開了「開打前提醒」的話還會在開打前通知你。
- 📅 加入行事曆:下載這一場的 .ics 檔,匯入 Google 日曆、Apple 行事曆或 Outlook。📆 Google 日曆:直接在 Google 日曆開一筆填好的活動(標題、時間、地點、費用、原文連結),按「儲存」就進你的 Google 日曆,不用下載檔案;要取消時到 Google 日曆刪那筆即可。想一次放很多場,用「⤓ 匯出」的「我收藏/已報名的場次」下載 .ics,再到 Google 日曆的設定 → 匯入。
- ✎ 修正:程式讀錯場館、程度、費用、時間、缺額時自己改;儲存後幾秒重做網頁,同一篇貼文/同一個球團的每一場都會套用,細節會標「人工修正」。
- 場館名稱可點進場館頁,旁邊有「地圖」「導航」;地址與聯絡方式旁有「複製」。
- 原文裡的日期、時間、費用、程度會加底色標示;下面先列「同場地、同時段的另外幾筆」(不同來源寫的,很可能是同一場,只是費用或場地數對不起來所以沒合併),再列同一天同場館的其他場次,以及最近幾則留言。
- 標「推算」的會寫依據:「依 9/2 的資料往後推」「已經 25 天沒更新」「這個場館的同一個時段近期實際公布過 3 天」——次數越多越可信。
- 報名狀況:留言裡的 +1/報名/我要/一位(+2 算兩人)扣掉取消,團主回「額滿」會標已滿。這只是估計,私訊報名的看不到,請以原文為準。
🏟 場館頁與收藏
從細節、日檢視、地圖或統計點場館名稱進入:有地址、常見費用、在這裡開團的球團與固定時段、接下來所有場次。按 ☆ 收藏場館 之後,篩選列的「收藏館」可以只看收藏的館。
👥 球團頁
點細節裡的球團名稱、場館頁的球團清單,或統計頁「最常開團的球團」的名字:看這一團接下來所有場次、固定在星期幾幾點、常去哪些場館、程度、常見費用、聯絡方式與最後發文時間。想找固定團加入時最好用。
⤓ 匯出與複製
狀態列右邊的 ⤓ 匯出:把目前看到的場次(這個月、這一週、這一天,或統計的未來四週)匯出成 .ics;匯出你收藏/已報名的場次;或複製成清單文字貼到 LINE 群。一個月幾千場的話建議先用篩選縮小範圍。
🔄 更新資料
- 按 🔄 更新資料 會抓四個網站+「設定」頁勾選的 FB 社團(只讀勾選的),「更新資料」按鈕本身會變成進度條(滑鼠停在上面看正在做什麼);完成後自動重新載入,右下角跳 Windows 通知。
- 時間:天天更新約 10~15 分鐘、同一天再按一次約 8 分鐘。每個社團只回溯到上次抓它之後,社團、固定團舊文、留言都是兩個分頁併行讀。如果冒出很多沒看過的球館,最後的「場館定位」會另外花時間(要一個一個問 OpenStreetMap,一個約 5 秒、一次最多 150 個),實測隔一天沒更新的一輪是 25 分鐘、其中一半在定位;那些館查過就有快取,之後不會再查。
- 抓 FB 時會開一個程式自己的 Chrome,放在螢幕外(工作列看得到)。關掉它沒關係,程式會自己重開接著抓;同一時間只會跑一個更新。
- 更新完成後會自動把行事曆傳到線上(badminton-pickup.vercel.app),球友打開網址看到的就是最新的。不想自動傳就把資料夾裡 設定.json 的
publish 改成 false。
- 不想每天手動按:到「設定」頁建立每天自動更新的排程(電腦要開著、有登入)。
設定頁
- Facebook:最上面一行顯示登入狀態與到期日,旁邊一顆鈕可以登入或換帳號(會開一個 Chrome 讓你登入,只要一次)。
- 要讀取的 FB 社團:依縣市列出,勾了下次更新才抓。旁邊是最近一週的貼文數、開團文數、場次數、獨有場次數(只有這個社團貼的)與建議;產量低或跟別的社團重複的可以取消勾選省時間。最下面可以貼社團網址自己加一個(要 facebook.com/groups/… 這種,粉絲專頁和貼文網址不行),加進來自動勾選;自己加的名字旁有 ✕ 可以刪,內建的取消勾選就好。
- 每天自動更新:選時間、再選一個「沒成功的話幾點再試一次」(留空=不重試),按「建立/更新排程」;「取消排程」把兩個一起關掉。更新成功會跳通知(標題寫「排程更新完成」),失敗也會跳一則寫明原因與幾點會再試。狀態列看得到上一次自動更新是成功還失敗。紀錄在 data\update.log。
- 開打前提醒:勾起來之後,你標了「★ 有興趣」或「✓ 已報名」的場次,開打前 N 小時會跳一次 Windows 通知;那些場次變成「已滿」或「取消」時也會通知。每 30 分鐘檢查一次,只讀本機資料。
- 場館別名:同一個場館的不同寫法,一行一個「別名 = 正名」(例如「板橋諾亞 = 諾亞羽球館」),存檔後重做網頁,去重與場館頁會用正名。
- 人工修正:在細節按「修正」改過的都列在這裡,可以刪除。
- 只重做網頁:不抓資料,幾秒就好(改了別名或修正之後用)。
資料來源與準確度
- 羽球臨打情報站:接下來一週全台的開團,欄位最完整。羽球拼圖:全台約一千個還在運作的固定球團名單。PlayOne 零打快查:各地固定球團與球場地址。Made Studio:台北東區的自辦臨打。Facebook 社團:用你自己的帳號讀勾選的公開社團,貼文由程式從文字裡讀出日期、時間、地點、程度、費用、缺額、用球、聯絡方式。
- 「已確認」是來源明確寫出日期的場次;「推算」是每週固定球團往後推的,推到行事曆範圍的底(未來六週)。FB 貼文寫「固定每週一、三、五 19:00-21:00」的,一個月內的貼文推滿六週、更舊的只推一週;分星期幾列時段(週一至週四 22:30-00:30、週五 22:30-02:00、週日 22:00-00:00 這種宵夜場寫法)的課表只推兩週,而且只有十天內的貼文才展開——這類貼文幾天就會重貼一次,半年前的球館時間表不該一直生出來。各段依自己的時段、費用、場館展開;跨午夜的時段、中文數字的時間、「🈵」都讀得懂。
- 同一場臨打常出現好幾次(同一篇貼到好幾個社團、情報站與 PlayOne 列同一個球團):同一天、同一開始時間、同一場館,而且文字相同、同一個發文者或球團名相似的會合併成一場,細節會寫「合併了 N 篇重複」並保留每一篇的連結。
- FB 貼文是自由文字,偶爾會讀錯或讀不到:讀錯用「修正」改;讀不到日期的貼文列在行事曆最下面「沒解析出日期的開團貼文」。外縣市與香港的貼文會被濾掉。
鍵盤與小技巧
- ← → 換月/週/日(地圖換天);Esc 關掉細節或小視窗;右上角 ⛶ 全螢幕。
- 「篩選 ▴」收起篩選列後月曆更大;狀態列的圖例會依你選的縣市變。
- 直接雙擊打開 臨打行事曆.html 也能看(離線可用),但不能更新、不能存設定,我的條件與收藏只存在那個瀏覽器裡;平常請用 開啟行事曆.bat。
- 分享給球友:這個檔案本身就是完整的一份,用 LINE 或 Email 傳給誰都能開(Mac、iPad、手機都行),對方那邊會自動收起「更新資料」與「設定」。也可以直接給網址 badminton-pickup.vercel.app——每次更新完會自動傳上去。想讓對方自己更新,請他到 yubadminton.vercel.app 下載免安裝版。
常見問題
- 更新時說「尚未登入 Facebook」?
- 到「設定」頁最上面按「登入 Facebook」(或執行 登入Facebook.bat),在跳出的 Chrome 登入一次。登入狀態會留在「瀏覽器資料」資料夾,刪掉那個資料夾等於登出;設定頁也看得到目前的登入狀態與到期日。
- 更新怎麼這麼久?
- 兩個地方最花時間:讀 FB 社團(每個社團要一頁一頁捲),以及沒看過的球館要一個一個查座標(一個約 5 秒,地圖才有點位;查過就有快取)。到設定頁把產量低、重複多的社團取消勾選;或建立排程讓它半夜自己跑。
- 通知沒出現?
- 看 Windows 的「通知與動作」是否關掉了 PowerShell 的通知;更新訊息裡若寫「通知沒有顯示」會附原因。
- 某一場不見了或跟別的合併了?
- 可能被判成重複(細節裡「合併了 N 篇」可看到每一篇的連結);也可能是程式把場館讀成另一個寫法,到設定頁加「場館別名」。
- 費用或程度讀錯?
- 在細節按「修正」改,會套用到那篇貼文/那個球團的每一場。
- 會不會被 Facebook 封鎖?
- 程式用你的帳號在真的瀏覽器裡瀏覽社團,步調刻意放慢,一般個人使用沒問題;請不要把併行分頁數或捲動次數調很大、或一天跑很多次。
- 資料多久算一次「新」?
- 每筆資料第一次被抓到的時間會記下來;「新」是相對於你上次打開網頁(或上次套用那組條件)的時間。
更完整的技術說明在資料夾裡的 說明.md。