LinkedIn 個人檔案的 HTML 原始碼中,包含了頁面所參照的每一個網址,而一款以瀏覽器為基礎的連結擷取工具,能把這些 href 數值,擷取成一份乾淨、每行一個的清單,完全不需要連上 LinkedIn,也不需要登入。這項工具完全針對貼上的標記語法運作,因此您想要盤點的頁面,必須是您已經透過授權管道儲存或下載下來的內容。一旦手邊有了這份原始碼,這個擷取工具就會掃描 anchor、area 與 link 開始標籤,解碼 href 數值中一組有限範圍的 HTML 實體,正規化 web、mailto 與 tel 目標,依首次出現的順序移除重複項目,並回傳一份可供審查、已去重的清單。被略過的項目會被計數,而不是被隱藏,因此即使結果看起來很短,仍然會告訴您有多少個不安全或無效的數值被篩掉了。這種做法,適合任何需要從已儲存的搜尋結果頁面、匯出的聯絡人檔案,或存成 HTML 的個人檔案檢視畫面中,取得結構化 LinkedIn 個人檔案網址清單的人。

how to extract linkedin profile
如何擷取 LinkedIn 個人檔案

「擷取 LinkedIn 個人檔案」實際上代表什麼

搜尋「如何擷取 LinkedIn 個人檔案」的人,通常想要的是以下兩種之一:結構化的個人檔案資料,例如姓名、職稱、經歷與聯絡方式,或是個人檔案頁面的網址。連結擷取工具,只處理第二種需求。它會讀取您貼上的 HTML 中的 href 數值,回傳頁面實際連結到的網址。這些網址包括頁面所指向的 LinkedIn 個人檔案網址、分享貼文中的連結、聯絡人卡片中的網址,以及標記語法中任何其他的錨點目標。

這項工具不會剖析姓名、職稱、職務名稱,或任何其他個人檔案欄位。如果目標是取得完整豐富的個人檔案資料,就需要一個專門的 LinkedIn 匯出工具、官方的資料匯出功能,或人工審查。如果目標只是要取得個人檔案網址本身,以便貼進試算表、外展追蹤工具,或後續爬取流程中,那麼這個擷取工具就是一個很好的起點。若您的流程最終要落在 Excel 中,從 HTML 把 LinkedIn 聯絡人網址擷取到 Excel這篇指南,說明了拿到網址清單之後的後續步驟。

連結擷取工具如何處理 LinkedIn 的 HTML

LinkedIn 的個人檔案頁面、搜尋結果,以及已儲存的聯絡人檢視畫面,與任何現代網站一樣,共用大致相同的 HTML 結構,這也是為什麼這個擷取工具在處理它們時,使用的邏輯跟處理其他任何地方完全相同。這個實作方式,會執行一次有限範圍的原始碼掃描:先移除註解,以及常見的純文字容器,例如 script、style、textarea、title、iframe、noembed 與 noframes,接著比對 a、area 與 link 開始標籤上的 href 屬性。這三種元素類型的集合,涵蓋了一般的錨點、影像地圖目標,以及 head 元素中的參照,例如 canonical 頁面與替代資源。

在每一個 href 內部,剖析器會解碼十進位與十六進位的數值字元參照,再加上一組小型的具名實體集合:amp、quot、apos、lt 與 gt。這涵蓋了 LinkedIn 追蹤參數中常見的網址查詢逸出方式。罕見的具名實體會保持原本的編碼狀態,而不會被猜測解讀。解碼之後,絕對的 HTTP、HTTPS、mailto 與 tel 數值,會直接被正規化。如果您提供一個合法的 HTTP 或 HTTPS 基準網址,根相對、路徑相對、上層相對,以及通訊協定相對的數值,都會透過瀏覽器的 URL 模型來解析。如果沒有提供基準網址,相對數值就會維持相對狀態,因此輸出結果絕不會憑空捏造出一個主機名稱。

三個步驟擷取 LinkedIn 個人檔案網址

  1. 把已獲授權的 HTML 原始碼,貼進輸入欄位中,如果您想把相對路徑解析成絕對網址,請在基準網址欄位中,輸入該頁面的絕對網址。基準網址必須使用 HTTP 或 HTTPS,且不能包含帳密資訊。
  2. 執行擷取。檢視唯一、重複與被略過的計數,並對照每行一個的結果。Mailto 與 tel 目標會保留在清單中,因為它們是合法的連結目的地,而空白數值、同文件內的錨點片段、可執行的通訊協定(javascript、data、vbscript),以及無效的絕對網址,則會被略過並列入計數。
  3. 複製這份已去重的清單,用於已獲授權的爬取或稽核。這項工具絕不會去請求它發現的任何目的地,因此您可以完全掌控哪些網址會被連線,以及何時連線。

這項工具會納入與略過哪些內容

判斷邏輯是透明的,而且在每個頁面上都相同,因此您在 LinkedIn 個人檔案檢視畫面上看到的結果,會跟在任何其他網站上看到的一樣。下表整理了各個類別,以及每一種的處理方式。

類別範例處理方式
絕對的 http 或 https 網址https://www.linkedin.com/in/example正規化後回傳
有基準網址時的通訊協定相對路徑//www.linkedin.com/in/example依基準網址解析
有基準網址時的根相對路徑/in/example依基準網址解析
有基準網址時的路徑相對路徑in/example依基準網址解析
有基準網址時的上層相對路徑../in/example依基準網址解析
mailto 目標mailto:[email protected]正規化後回傳
tel 目標tel:+15555550100正規化後回傳
同文件內的錨點片段#section略過,並計數
空白的 hrefhref=""略過,並計數
javascript: 通訊協定javascript:void(0)略過,並計數
data: 或 vbscript: 通訊協定data:text/html,...略過,並計數
無效的絕對網址http://[bad略過,並計數

重複的項目,會在正規化之後被移除。兩個解析後指向同一個絕對網址的相同相對連結,會收斂成一個項目,並保留首次出現的順序。去重是精確比對的:只要在追蹤參數、錨點片段、區分大小寫的路徑,或轉址行為上有差異的網址,都會被視為不同的資源。

為什麼應該提供基準網址

LinkedIn 的個人檔案頁面與已儲存的搜尋結果,經常對個人檔案、公司與貼文連結使用相對網址。如果沒有基準網址,像 /in/example 這樣的數值,就會維持原樣,無法直接當成獨立的網址開啟。提供您所儲存頁面的絕對網址,能讓解析器知道這些路徑應該歸屬於哪裡,因此 https://www.linkedin.com/sales/people 底下的 /in/example,在輸出結果中就會變成 https://www.linkedin.com/in/example。

基準網址必須使用 HTTP 或 HTTPS,且不能包含帳密資訊。這道防護措施,能讓使用者資訊不會出現在任何解析後的結果中,並避免產生一個具誤導性的解析情境。如果不知道原始頁面的網址,請把基準欄位保留空白,並把結果視為一份相對路徑的盤點清單,而不是一份可以直接打開使用的清單。

會影響 LinkedIn 原始碼的限制

在貼上已儲存的 LinkedIn 頁面之前,這個實作方式有兩項限制值得留意。第一,輸入內容上限為 200,000 個字元。一個包含內嵌留言與分享貼文的長篇個人檔案檢視畫面,可能會超過這個上限;遇到這種情況,應該把標記語法拆分成多個區段,或改用受控的爬蟲來處理。

第二,這個擷取工具是一個原始碼剖析器,而不是一個完整的瀏覽器 HTML 樹狀結構建構器。它不會執行腳本,也不會算繪框架應用程式,因此任何在頁面載入後才由 JavaScript 插入的 LinkedIn 連結,並不會存在於靜態原始碼中,因此也就無法在這裡被找到。透過瀏覽器的「另存新檔」功能儲存頁面,通常會擷取算繪後的 DOM,這比較接近使用者實際看到的畫面。若是在較早的時間點,透過開發人員工具擷取原始碼,可能需要先捲動、點擊,或進行互動,才能讓延遲載入的連結出現在標記語法中。

讓擷取出來的清單發揮作用

一旦您擁有一份已去重的 LinkedIn 個人檔案網址清單,好幾項審查工作都會變得容易許多。下表說明了典型的後續步驟,以及資料流向何處。

後續工作擷取出的清單為何有幫助
已獲授權的爬取與狀態檢查把清單交給受控的爬蟲,確認每個個人檔案網址是否仍能解析、回傳有效回應,並與預期的帳號相符。
去重審查當需要更嚴格的比對時,把唯一計數與目標總數做比較,找出即使經過正規化,仍因追蹤參數而重複的項目。
試算表匯入把每行一個的結果貼進 Excel 或 Google Sheets,再對欄位進行拆分或篩選,用於外展、標記,或報表流程。
轉址與 rel 屬性意義把這份清單搭配另一個能檢查狀態、轉址鏈,以及 rel 屬性(例如 nofollow 或 noopener)意義的工具一起使用。
動態 DOM 缺口檢查把這份靜態原始碼清單,與瀏覽器 DOM 匯出結果或真實爬蟲做比較,找出原始碼擷取之後,才由腳本加入的連結。

這個擷取工具不會標示內部連結與外部連結、測試 HTTP 狀態、評估 rel 屬性,也不會判斷 SEO 品質。請把輸出結果當成一份盤點清單,而不是一份健康檢查報告,並讓一個專門、已獲授權的爬蟲,去回答原始碼本身無法回答的問題。

在授權使用範圍內作業

LinkedIn 的服務條款,限制了對會員資料的自動化存取,而這個擷取工具,只能處理手邊已經有的原始碼。請透過您已登入的瀏覽器儲存頁面、透過 LinkedIn 提供的官方管道匯出聯絡資訊,或使用本機端產生的 HTML。一旦原始碼在手,這個擷取工具就會全程留在瀏覽器中運作:HTML 與最終產生的網址清單,絕不會被送到任何伺服器,這項工具也絕不會去連線清單上的任何目的地。這種純本機端的設計,能讓整個流程保持私密,並讓您完全掌控每一個網址是否會被請求、以及何時被請求。

對於大規模遷移或安全稽核,請比對原始碼、瀏覽器 DOM 匯出結果,以及真實爬蟲三者,而不要只信任單一的擷取管道。這種有限範圍的掃描速度快、行為也可預測,但一個經過大量客製化、含有格式錯誤標記語法、不尋常的未加引號屬性,或缺少純文字結束標籤的 LinkedIn 檢視畫面,可能會產生與這個有限範圍掃描不同的 DOM 結果。在採取任何後續行動之前,透過實際的瀏覽器樹狀結構,或受控的爬蟲再做一次第二次檢查,能確認這份盤點清單是完整的。

如需更深入的說明,請參閱從已審查的網址清單取得 Sitemap.xml