背景動機
Google 以前搜尋引擎靠人工分類,資訊爆炸後無法滿足需求。Google 採用程式 7×24 爬取網路資源,智慧演算法分析索引,幾天內獲取全網資訊。網路蜘蛛是搜尋引擎最關鍵、第一步組件。
關鍵字
C# 2.0、HTML、網路蜘蛛、KeyTree、正則表達式
基本實作思想
透過一個/多個入口網址獲取更多 URL → 下載分析 → 擷取新 URL → 加入下載隊列 → 循環直到無可下載 URL。
四大具體步驟
- 指定入口網址,加入下載隊列
- 下載執行緒從隊列取 URL,下載分析(先判斷是否已下載),隊列空且所有執行緒休眠 → 完成
- 分析本地 HTML,擷取 URL(如 <a> href)
- 新 URL 加入隊列,回步驟 2
本文技術棧
- C# 2.0 匿名方法、泛型、迭代器
- 正則表達式解析 HTML
- KeyTree 高效去重
- 多執行緒平行下載
- 狀態機擷取 <a> 標籤