- Scrapy 爬蟲框架,爬取 HBR 繁體中文文章 - Flask Web 應用程式,提供文章查詢介面 - SQL Server 資料庫整合 - 自動化排程與郵件通知功能 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
6.7 KiB
6.7 KiB
HBR 爬蟲系統 - 待釐清問題清單
請以選擇題方式回答以下問題,以便完成系統開發。
一、資料庫相關問題
1. 資料庫類型
您希望使用哪種資料庫系統?
- [V ] A. MySQL / MariaDB
- B. PostgreSQL
- C. SQLite
- D. Microsoft SQL Server
- E. 其他(請說明):___________
2. 資料庫連線方式
您希望如何提供資料庫連線資訊?
- A. 直接在此文件中提供(主機、埠號、資料庫名稱、使用者、密碼)
- [V ] B. 透過環境變數設定
- C. 使用連線字串(Connection String)
- D. 使用設定檔(config.ini 或 config.json)
- E. 其他方式(請說明):___________
3. 資料庫位置
資料庫位於何處?
- A. 本地電腦(localhost)
- [V ] B. 區域網路內的伺服器
- C. 雲端服務(AWS RDS、Azure SQL、Google Cloud SQL 等)
- D. 其他(請說明):___________
4. 資料庫權限
資料庫使用者權限設定?
- A. 僅有 SELECT 和 INSERT 權限(建議)
- [V ] B. 完整權限(SELECT, INSERT, UPDATE, DELETE, CREATE TABLE)
- C. 需要我協助建立資料表結構
- D. 資料表已存在,只需插入資料
5. 資料庫連線加密
是否需要使用 SSL/TLS 加密連線?
- [V ] A. 是,需要 SSL/TLS 加密
- B. 否,不需要加密
- C. 不確定,使用預設設定
二、資料儲存相關問題
6. 重複文章處理
當爬取到已存在的文章(相同 URL)時,應如何處理?
- A. 跳過,不更新資料庫
- [V ] B. 更新現有記錄(更新 crawled_at 時間戳)
- [V ] C. 更新現有記錄,並更新所有欄位(標題、內容等可能變更)
- D. 建立新記錄(允許重複)
7. 歷史資料保留
是否需要保留歷史爬取記錄?
- A. 是,保留所有歷史記錄(每次爬取都記錄)
- B. 否,只保留最新一次爬取的資料
- [V ] C. 保留最近 N 次爬取記錄(請指定次數:30_)
8. 資料清理
是否需要定期清理舊資料?
- [V ] A. 是,自動刪除超過 N 天的資料(請指定天數:30___)
- B. 否,保留所有資料
- C. 手動清理
9. CSV 檔案處理
CSV 檔案產生後,是否需要額外處理?
- A. 僅發送郵件,不額外處理
- B. 發送郵件後刪除 CSV 檔案
- [V ] C. 保留 CSV 檔案作為備份(保留最近 N 個檔案,請指定:_____)
- D. 上傳至雲端儲存(Google Drive、Dropbox、S3 等)
三、功能擴展相關問題
10. 資料查詢功能
是否需要提供資料查詢功能?
- A. 否,僅需爬取和儲存功能
- B. 是,需要簡單的查詢腳本(按日期、分類、標籤查詢)
- [V ] C. 是,需要 Web 介面查詢
- D. 是,需要 API 介面
11. 通知方式
除了郵件通知,是否需要其他通知方式?
- [V ] A. 僅需郵件通知
- B. 需要 Slack 通知
- C. 需要 Microsoft Teams 通知
- D. 需要 LINE 通知
- E. 需要其他方式(請說明):___________
12. 資料分析功能
是否需要資料分析功能?
- A. 否,僅需儲存原始資料
- [V ] B. 是,需要統計功能(文章數量、分類分布、作者統計等)
- C. 是,需要產生報表(週報、月報)
- D. 是,需要視覺化圖表
13. 增量爬取
是否需要支援增量爬取(僅爬取新文章)?
- [V ] A. 是,僅爬取新文章(依據 URL 或發布日期判斷)
- B. 否,每次完整爬取所有文章
- C. 是,但需要可設定爬取日期範圍
四、系統設定相關問題
14. 爬取頻率
除了每週一 08:00,是否需要其他爬取時間?
- A. 僅每週一 08:00
- B. 需要多個排程時間(請說明):每天早上8:00___
- C. 需要手動觸發功能
- [V ] D. 需要可設定的排程時間
15. 錯誤通知
當爬蟲執行失敗時,是否需要通知?
- A. 否,僅記錄日誌
- [V ] B. 是,發送錯誤通知郵件
- C. 是,發送錯誤通知到其他平台(請指定):___________
16. 日誌記錄
日誌記錄的需求?
- A. 僅記錄到控制台
- B. 記錄到檔案(請指定路徑:_____)
- [V ] C. 記錄到資料庫
- D. 記錄到日誌服務(如 ELK、Splunk)
17. 效能設定
爬取時的效能設定偏好?
- A. 快速爬取(較短延遲,可能對伺服器造成較大負擔)
- B. 平衡模式(適中延遲,預設 1 秒)
- [V ] C. 保守模式(較長延遲,避免對伺服器造成負擔)
- D. 可設定延遲時間(請指定秒數:_____)
五、資料格式相關問題
18. 日期格式
資料庫中日期欄位的格式偏好?
- [V ] A. DATETIME / TIMESTAMP(資料庫原生格式)
- B. VARCHAR(字串格式,如 '2024-12-22 08:00:00')
- C. DATE(僅日期,不含時間)
- D. 其他(請說明):___________
19. 標籤儲存方式
標籤的儲存方式偏好?
- A. 正規化設計(tags 表 + article_tags 關聯表,建議)
- [V ] B. 非正規化設計(articles 表中以逗號分隔字串儲存)
- C. JSON 格式儲存(如資料庫支援)
20. 內容欄位長度
文章內容欄位的長度限制?
- [V ] A. TEXT 類型(無長度限制)
- B. VARCHAR(N)(請指定最大長度:_____)
- C. MEDIUMTEXT / LONGTEXT(依資料庫而定)
六、其他問題
21. 專案部署環境
系統將部署在何處?
- A. 本地電腦(Windows)
- B. 本地電腦(Linux/Mac)
- C. GitHub Actions(雲端)
- [V ] D. 自有伺服器
- E. 雲端服務(AWS、Azure、GCP 等)
22. 資料備份需求
是否需要自動備份功能?
- [V ] A. 否,手動備份即可
- B. 是,定期自動備份資料庫
- C. 是,備份資料庫和 CSV 檔案
- D. 是,備份到雲端儲存
23. 多語言支援
是否需要支援多語言?
- A. 否,僅支援繁體中文
- [V ] B. 是,需要支援多語言(請指定語言:繁體中文/英文/韓文________)
24. 資料匯出格式
除了 CSV,是否需要其他匯出格式?
- A. 僅需 CSV
- B. 需要 JSON 格式
- [V ] C. 需要 Excel 格式
- D. 需要多種格式(請指定):___________
請提供以下資訊
資料庫連線資訊(請填寫)
資料庫類型:___________
主機位址(Host):___________
埠號(Port):___________
資料庫名稱(Database):___________
使用者名稱(Username):___________
密碼(Password):___________
連線字串(如有):___________
其他說明:___________
請將回答後的檔案回傳,或直接在文件中標記選項。