核心觀點
程式化擷取網頁資料,不應使用可視化 WebBrowser 控制項,而應直接下載 HTML 內容,再用 XPath 或正則表達式解析。
標準流程
- HTTP GET 取得網頁原始碼(
HttpClient/requests/curl)。
- 載入 HTML 解析器(HtmlAgilityPack、Jsoup、lxml、BeautifulSoup)。
- 編寫 XPath/CSS Selector 定位目標節點(如紅框連結
//a[@class='red-link']/@href)。
- 提取屬性或文字,後續處理。
藍框連結獲取
若藍框連結在紅框頁面中,先解析紅框頁面 URL,再發第二次請求解析藍框頁面;若在同頁,直接用更精確的 XPath 定位。
為何不用 WebBrowser
- 資源佔用大、啟動慢、難以無頭運行。
- JS 渲染後的 DOM 雖完整,但解析速度遠慢於靜態 HTML 解析器。
- 現代網站多為 SPA,需配合 Headless Chrome (Puppeteer/Playwright) 才能獲得渲染後 DOM,但仍屬「程式化控制瀏覽器」而非嵌入式控制項。