Web 爬蟲程式整合 - Amazon Quick Suite

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Web 爬蟲程式整合

透過 Amazon Quick Suite 中的 Web Crawler 整合,您可以透過編目和編製網頁索引,從網站內容建立知識庫。此整合根據您的使用者層,支援具有不同身分驗證選項的資料擷取功能。

您可以做什麼

Web Crawler 使用者可以針對存放在網站和網頁上的內容提出問題。例如,使用者可以查詢文件網站、知識庫,或跨多個網頁搜尋特定資訊。整合可讓使用者快速存取和了解 Web 內容中的資訊,無論其位置或類型為何,同時提供內容詳細資訊,例如發佈日期、修改歷史記錄和頁面擁有權,都有助於更有效率的資訊探索和更明智的決策。

注意

Web 爬蟲程式整合僅支援資料擷取。它不提供管理網站或 Web 服務的動作功能。

開始之前

設定 Web Crawler 整合之前,請確定您有下列項目:

  • 要編目和編製索引的網站 URLs。

  • Amazon Quick Suite Enterprise 訂閱

  • 您要網路爬取的網站必須是公有的,不能位於防火牆後方,也需要特殊瀏覽器外掛程式才能連線。

準備網站存取和身分驗證

在 Amazon Quick Suite 中設定整合之前,請先準備您的網站存取憑證。Web Crawler 整合根據您的使用者角色支援不同的身分驗證方法:

無身分驗證

適用於所有 使用者。使用 來爬取不需要身分驗證的公有網站。

基本身分驗證

安全網站的標準 HTTP 基本身分驗證。HTTP 基本身分驗證是一種簡單的方法,可透過要求使用者名稱和密碼來保護 Web 資源。當您使用基本身分驗證造訪受保護的網站時,您的瀏覽器會顯示快顯對話方塊,詢問您的登入資料。

必要的登入資料:

  • 登入頁面 URL - 登入頁面的 URL

  • 使用者名稱 - 基本身分驗證使用者名稱

  • 密碼 - 基本身分驗證密碼

表單身分驗證

對於使用 HTML 表單型登入頁面的網站。

表單會設定為 ,讓您指定 XPath。XPath (XML 路徑語言) 是一種查詢語言,用於導覽 HTML 或 XML 文件中的元素和屬性。若要識別網頁元素的 XPath,使用者可以利用瀏覽器的開發人員工具,通常按一下滑鼠右鍵並選擇「檢查」或按 F12 來存取。在開發人員工具中反白顯示元素後,使用者可以在對應的 HTML 程式碼上按一下滑鼠右鍵,選取「複製」,然後從子功能表中選擇「複製 XPath」。這會產生唯一路徑,以識別 元素在文件結構中的確切位置。產生的 XPath 看起來可能類似 //input【@id='username'】 或 //button【@type='submit'】,其中雙正斜線 (//) 表示路徑可以開始於文件的任何位置,且方括號包含有助於識別特定元素的屬性。

必要資訊:

  • 登入頁面 URL - 登入表單的 URL (例如 https://example.com/login)

  • 使用者名稱 - 登入使用者名稱

  • 密碼 - 登入密碼

  • 使用者名稱欄位 XPath - XPath 到使用者名稱輸入欄位 (例如 //input[@id='username'])

  • 使用者名稱按鈕 XPath (選用) - XPath 到使用者名稱按鈕欄位 (例如 //input[@id='username_button'])

  • 密碼欄位 XPath - XPath 到密碼輸入欄位 (例如 //input[@id='password'])

  • 密碼按鈕 XPath - XPath 到密碼按鈕 (例如 //button[@type='password'])

SAML 身分驗證

對於使用 SAML 型單一登入身分驗證的網站。

SAML (安全性聲明標記語言) 身分驗證是一種聯合身分標準,可讓使用者透過集中式身分提供者進行身分驗證,而非直接在每個應用程式中輸入憑證,藉此啟用單一登入 (SSO)。與使用者在應用程式登入頁面上的欄位中輸入使用者名稱和密碼的傳統表單身分驗證不同,SAML 會將使用者重新導向至其組織的身分提供者 (例如 Microsoft Azure AD 或 Okta) 進行身分驗證,然後將安全字符傳遞回應用程式以授予存取權。這種方法提供跨多個應用程式的無縫使用者體驗、IT 管理員的集中式使用者管理,以及透過多重要素驗證等功能增強安全性,而表單驗證需要每個個別應用程式的個別憑證管理

必要資訊:

  • 登入頁面 URL - SAML 登入頁面的 URL

  • 使用者名稱 - SAML 使用者名稱

  • 密碼 - SAML 密碼

  • 使用者名稱欄位 XPath - XPath 到使用者名稱輸入欄位 (例如 //input[@id='username'])

  • 使用者名稱按鈕 XPath (選用) - XPath 轉換為使用者名稱按鈕欄位 (例如 //input[@id='username_button'])

  • 密碼欄位 XPath - XPath 到密碼輸入欄位 (例如 //input[@id='password'])

  • 密碼按鈕 XPath - XPath 到密碼按鈕 (例如 //button[@type='password'])

XPath 組態範例

使用這些 XPath 範例來設定表單和 SAML 身分驗證:

Username field examples: //input[@id='username'] //input[@name='user'] //input[@class='username-field'] Password field examples: //input[@id='password'] //input[@name='pass'] //input[@type='password'] Submit button examples: //button[@type='submit'] //input[@type='submit'] //button[contains(text(), 'Login')]

設定 Web 爬蟲程式整合

準備網站存取需求後,請在 Amazon Quick Suite 中建立 Web Crawler 整合。

  1. 在 Amazon Quick Suite 主控台中,選擇整合

  2. 從整合選項中選擇 Web 爬蟲程式,然後按一下新增按鈕 (加 "+" 按鈕)。

  3. 選擇從 Web 爬蟲程式存取資料。Web Crawler 整合僅支援資料存取 - 動作執行不適用於 Web 爬取。

  4. 設定整合詳細資訊和身分驗證方法,然後視需要建立知識庫。

    1. 選取 Web 爬蟲程式整合的身分驗證類型。

    2. 根據您選取的身分驗證方法,填寫必要的詳細資訊。

    3. 選取建立並繼續

    4. 填寫知識庫的名稱和描述。

    5. 新增您要編目的內容 URLs。

    6. 選取建立

按一下建立後,資料同步會自動啟動。

設定爬取

您可以設定要爬取的網站和頁面,以及如何篩選內容。

設定 URLs和內容來源

設定要抓取的網站和頁面:

直接 URLs

指定要爬取URLs:

https://example.com/docs https://example.com/blog https://example.com/support

限制:每個資料集最多 10 URLs

內容篩選條件和網路爬取設定

爬蟲範圍設定

若要檢視這些設定,您必須先設定知識庫,然後檢查進階設定選項。

爬蟲深度
  • 範圍:0-10 (預設值:1)

  • 0 = 僅爬取指定的 URLs

  • 1 = 將連結頁面納入一層深

  • 較高的值遵循更深入網站的連結

每個頁面的連結上限
  • 預設:1000

  • 上限:1,000

  • 控制每個頁面要遵循多少連結

Wait (等待) 階段
  • 預設:1

  • Web 爬蟲程式在頁面達到「頁面就緒」狀態後等待每個頁面的時間。這適用於具有動態 Javascript 載入特性的頁面,其中頁面具有載入主範本後載入的內容區塊。如果您有視覺效果豐富的內容或預期高載入時間,則增加等待時間。

管理知識庫

設定 Web 爬蟲程式整合之後,您可以從爬蟲網站內容建立和管理知識庫。

編輯現有的知識庫

您可以修改現有的 Web Crawler 知識庫:

  1. 在 Amazon Quick Suite 主控台中,選擇知識庫

  2. 從清單中選擇您的 Web 爬蟲程式知識庫。

  3. 選擇動作下的三點圖示,然後選擇編輯知識庫

  4. 視需要更新您的組態設定,然後選擇儲存

建立其他知識庫

您可以從相同的 Web 爬蟲程式整合建立多個知識庫:

  1. 在 Amazon Quick Suite 主控台中,選擇整合,然後選取資料索引標籤。

  2. 從清單中選擇現有的 Web 爬蟲程式整合。

  3. 選擇動作下的三點圖示,然後選擇建立知識庫

  4. 設定您的知識庫設定,然後選擇建立

如需知識庫組態選項的詳細資訊,請參閱 常見的組態設定

附件和檔案爬取

控制系統是否處理從網頁連結的檔案和附件:

  • 啟用檔案連接編目 - 選取此選項,即可編目和索引網頁上的檔案和連接,例如 PDFs、文件和媒體檔案。

爬取行為和同步組態

您的 Web 爬蟲程式整合遵循下列爬蟲實務:

  • 增量同步模型:第一次同步僅執行完整網路爬取、後續同步擷取變更

  • 自動重試:失敗請求的內建重試邏輯

  • 重複處理:自動偵測和處理 URLs

  • 蟲程式識別:在請求標頭中使用使用者代理程式字串 "aws-quick-on-behalf-of-<UUID>" 來識別自己

Robots.txt 合規

Web Crawler 遵守 robots.txt 通訊協定,並遵循使用者代理程式和允許/不允許指令。這可讓您控制爬蟲程式存取您網站的方式。

robots.txt 檢查的運作方式
  • 主機層級檢查:Web Crawler 讀取主機層級的 robots.txt 檔案 (例如 example.com/robots.txt)

  • 多個主機支援:對於具有多個主機的網域,Web Crawler 會分別遵守每個主機的機器人規則

  • 備用行為:如果 Web 爬蟲程式因為封鎖、剖析錯誤或逾時而無法擷取 robots.txt,其行為會如同 robots.txt 不存在一樣,並且會爬取網站

支援的 robots.txt 欄位

Web Crawler 會辨識這些 robots.txt 欄位 (欄位名稱不區分大小寫,值區分大小寫):

user-agent

識別規則適用的爬蟲程式

allow

可能爬取的 URL 路徑

disallow

無法抓取的 URL 路徑

sitemap

網站地圖的完整 URL

crawl-delay

指定網站請求之間的等待時間 (以秒為單位)

中繼標籤支援

Web Crawler 支援頁面層級機器人中繼標籤,可用來控制資料的使用方式。您可以在 HTML 頁面或 HTTP 標頭中包含中繼標籤,以指定頁面層級設定。

支援的中繼標籤
noindex

請勿為頁面編製索引。如果您未指定此規則,頁面可能會編製索引,並有資格出現在體驗中

nofollow

請勿遵循此頁面上的連結。如果您未指定此規則,Web 爬蟲程式可能會使用頁面上的連結來探索這些連結頁面

您可以使用逗號組合多個值 (例如,「noindex, nofollow」)。

注意

若要偵測中繼標籤,Web Crawler 需要存取您的頁面,因此請勿使用 robots.txt 來封鎖您的頁面,以防止其被回收。

疑難排解

使用本節來解決 Web Crawler 整合的常見問題。

身分驗證失敗

徵狀:

  • 「無法驗證」錯誤訊息

  • 401/403 HTTP 回應

  • 登入頁面重新導向迴圈

  • 工作階段逾時錯誤

解決步驟:

  1. 確認可從設定 Amazon Quick Suite 執行個體 AWS 的區域存取網站

  2. 驗證登入資料的準確性,並確保它們尚未過期

  3. 檢查身分驗證端點可用性和可存取性

  4. 在瀏覽器開發人員工具中測試 XPath 組態,以驗證 XPath 組態

  5. 檢閱瀏覽器網路日誌以了解身分驗證流程

  6. 確保登入頁面 URL 正確且可存取

  7. 使用相同的登入資料手動測試身分驗證

存取和連線問題

徵狀:

  • 連線逾時和網路錯誤

  • 網路無法連線的錯誤

  • DNS 解析失敗

解決步驟:

  1. 驗證與目標網站的網路連線

  2. 驗證網站可存取性:

    • 檢查目標網域的 DNS 解析

    • 驗證 SSL/TLS 組態和憑證

    • 如果可能,測試來自不同網路的存取

爬蟲和內容問題

徵狀:

  • 遺失或不完整的內容

  • 未完成爬蟲或提早終止

  • 速率限制錯誤 (429 個回應)

  • 內容未正確編製索引

解決步驟:

  1. 檢閱 robots.txt 限制:

    • 檢查 robots.txt 檔案是否有爬蟲限制

    • 驗證爬蟲程式是否允許存取目標路徑

    • 確保 robots.txt 合規不會封鎖內容

  2. 檢查速率限制和限流:

    • 監控回應標頭以取得速率限制資訊

    • 實作適當的爬蟲延遲

  3. 驗證 URL 模式和篩選條件:

    • 測試 regex 模式的準確性

    • 檢查 URL 格式和結構

    • 驗證包含/排除模式邏輯

  4. 檢閱內容限制:

    • 檢查頁面上的 noindex 中繼標籤

    • 驗證內容類型支援

    • 確保內容大小在限制範圍內

  5. 將等待時間更新為適當的值,讓內容在 cralwer 嘗試爬取之前載入頁面

已知限制

Web 爬蟲程式整合有下列限制:

  • URL 限制:最多 10 URLs,不支援網站地圖

  • 爬蟲深度:爬蟲深度上限為 10 個層級

  • 安全需求:Web 代理組態所需的 HTTPS