首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

網頁資料擷取:XPath/正則解析 HTML,無需 WebBrowser 控制項

     編輯:程式設計綜合問答

核心觀點

程式化擷取網頁資料,不應使用可視化 WebBrowser 控制項,而應直接下載 HTML 內容,再用 XPath 或正則表達式解析。

標準流程

  1. HTTP GET 取得網頁原始碼(HttpClient/requests/curl)。
  2. 載入 HTML 解析器(HtmlAgilityPack、Jsoup、lxml、BeautifulSoup)。
  3. 編寫 XPath/CSS Selector 定位目標節點(如紅框連結 //a[@class='red-link']/@href)。
  4. 提取屬性或文字,後續處理。

藍框連結獲取

若藍框連結在紅框頁面中,先解析紅框頁面 URL,再發第二次請求解析藍框頁面;若在同頁,直接用更精確的 XPath 定位。

為何不用 WebBrowser

  • 資源佔用大、啟動慢、難以無頭運行。
  • JS 渲染後的 DOM 雖完整,但解析速度遠慢於靜態 HTML 解析器。
  • 現代網站多為 SPA,需配合 Headless Chrome (Puppeteer/Playwright) 才能獲得渲染後 DOM,但仍屬「程式化控制瀏覽器」而非嵌入式控制項。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved