這是一個用來蒐集 2024年 iThome 鐵人賽文章系列的地方
npm start
這個專案包含一個爬蟲程式 (crawler.js),用於抓取 2024 年 iThome 鐵人賽的文章系列資訊。以下是爬蟲的主要運作方式:
-
爬蟲流程:
- 訪問 iThome 鐵人賽主頁
- 提取所有文章類別
- 對每個類別進行遍歷,抓取該類別下的所有文章系列
- 將結果整理成 Markdown 格式並保存
-
緩存機制:
- 使用 MD5 哈希將 URL 轉換為唯一標識符
- 在本地 'cache' 目錄中保存已爬取的頁面內容
- 再次訪問相同 URL 時,優先從緩存讀取,減少網絡請求
-
批次處理:
- 使用 BATCH_SIZE 常量控制每批處理的頁面數量
- 通過批次處理提高效率,同時避免過度頻繁的請求
-
錯誤處理:
- 包含基本的錯誤捕獲和日誌記錄
- 在網絡請求中設置超時,避免長時間等待
-
輸出:
- 生成 'topics.md' 文件,按類別列出所有文章系列
這個爬蟲設計考慮了效率、穩定性和對目標網站的友好性,通過緩存機制和批次處理來優化性能和減少不必要的網絡請求。