Google 試算表可以使用 IMPORTXML 匯入網頁或其他各種線上檔案,但是會遇到 #ERROR!、#N/A 、#VALUE!、回傳多值的錯誤。說明問題原因與建議處理方式。
Photo by Thought Catalog on StockSnap |
錯誤狀況
使用 IMPORTXML 輸入網址,直接取得網頁標題會遇到不同錯誤狀況:
1. 「#ERROR!」錯誤:公式剖析錯誤。
原因:IMPORTXML 第二個參數「Xpath 查詢」指定路徑不存在
解決方法:檢查「Xpath 查詢」的路徑。例如寫錯「/html/body/title」,應該改成「/html/head/title」
2. 「#N/A」錯誤:無法擷取網址:
原因:可能對方網站阻擋了 IMPORTXML 取得網頁標題,導致出現 #N/A 錯誤。由於是伺服器端的錯誤,目前我不清楚解決原因,歡迎留言。
3. 「#N/A」錯誤:指定網址內容的資源超出大小上限。
原因:對方網站網頁內容太長,導致 Google 試算表拒絕解析。可以嘗試找尋檔案較小的行動版網頁。由於是伺服器端的錯誤,使用者不太能施力處理,
4. 「#VALUE!」錯誤:函式 IMPORTXML 的第 1 參數 的值「」不是有效網址。
原因:第一個參數不能是空值、需要是有效的網址
5. IMPORTXML 取得的標題欄位值是多值,而非單值。
= IMPORTXML(A1, "//title")
原因:在撰寫良好的網頁語法,Xpath 查詢條件可以預期只有一個「//title」。但是如果網頁沒有寫好,就會造成多值的狀況發生。
解決方法:
= IMPORTXML(A1, "//html/head/title")
= INDEX(IMPORTXML(A1, "//title"), 1)
限定 Xpath 查詢條件是在 <head> 標籤內的 <title> 標籤,或者是從回傳的多值內取第一個值。
留言
張貼留言