Meta 網路爬蟲

Meta 將網路爬蟲(擷取網站或網路應用程式內容的軟體)用於多種不同的目的。本頁面列示用戶代理程式(UA)字串,用於確認 Meta 最常見的網路爬蟲以及每個網路爬蟲的用途。本頁面同時提供如何配置 robots.txt 檔的指導,以便我們的網路爬蟲能與您的網站正確互動。

FacebookExternalHit

FacebookExternalHit 的主要目的是爬取 Meta 系列應用程式(例如 Facebook、Instagram 或 Messenger)上所分享的應用程式內容或網站內容。該連結可能是透過複製和貼上或使用 Facebook 社交外掛程式所分享。此網路爬蟲會收集、快取和顯示有關應用程式或網站的資訊,例如標題、說明及縮圖影像。

紀錄檔案中顯示的特定 UA 字串將類似於以下其中之一:

  • facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
  • facebookexternalhit/1.1
  • facebookcatalog/1.0

請注意,FacebookExternalHit 網路爬蟲在執行安全驗證或誠信檢查(例如檢查惡意軟體或惡意內容)時,可能會略過 robots.txt。

網路爬蟲必備條件

  • 您的伺服器必須使用 gzipdeflate 編碼。
  • 任何開放社交關係圖屬性都需要在網站或應用程式的前 1 MB 內容之前列出,否則將遭到截斷。
  • 請確保網路爬蟲可以在幾秒鐘內爬取內容,否則 Facebook 將無法顯示該內容。
  • 您的應用程式或網站應該根據網路爬蟲所要求 Range 標頭中指定的位元組,產生並傳回包含所有必要屬性的回應,或者應該完全略過 Range 標頭。
  • 將網路爬蟲使用的用戶代理程式字串或 IP 位址(更安全)加入許可清單。

疑難排解

如果應用程式或網站內容在爬取時不可用,則您可在內容可用時,透過分享偵錯工具來傳遞網址,或透過使用分享 API,強制完成爬取作業。

您可以使用下列程式碼模擬網路爬蟲要求:

curl -v --compressed -H "Range: bytes=0-524288" -H "Connection: close" -A "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "$URL"

Meta-ExternalAgent

Meta-ExternalAgent 網路爬蟲會透過直接索引內容來爬取網路中的使用案例,例如訓練 AI 模型或改善產品。

紀錄檔案中顯示的特定 UA 字串將類似於以下其中之一:

  • meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)
  • meta-externalagent/1.1

此網路爬蟲將在接下來幾週逐步推出,預計將於 2024 年 10 月 31 日完成。

Meta-ExternalFetcher

Meta-ExternalFetcher 網路爬蟲會執行用戶發起的個別連結擷取,以支援特定的產品功能。因為擷取是由用戶發起,此網路爬蟲可能會略過 robots.txt 規則。

紀錄檔案中顯示的特定 UA 字串將類似於以下其中之一:

  • meta-externalfetcher/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)
  • meta-externalfetcher/1.1

robots.txt 檔案

透過在網站上設定 robots.txt 檔案,即可向 Meta 網路爬蟲指定希望其如何與網站進行互動。若要封鎖這些網路爬蟲,請在 robots.txt 中加入不允許相關網路爬蟲。Meta-ExternalFetcher 網路爬蟲可能會略過 robots.txt,因其執行用戶要求的擷取。此外,在執行安全驗證或誠信檢查時,FacebookExternalHit 網路爬蟲可能會略過 robots.txt。

User-agent: meta-externalagent
Allow: /                    # Allow everything
Disallow: /private/         # Disallow a specific directory

網路爬蟲 IP

如果網路爬蟲的來源 IP 位址在下列指令所產生的清單中,表示該網路爬蟲來自 Meta。

whois -h whois.radb.net -- '-i origin AS32934' | grep ^route  

請注意,這些 IP 位址經常變更。如需更多資訊,請參閱我們的對等互連網頁或相關可下載的資料(CSV 格式)。

回應範例

...
route:      69.63.176.0/21
route:      69.63.184.0/21
route:      66.220.144.0/20
route:      69.63.176.0/20
route6:     2620:0:1c00::/40
route6:     2a03:2880::/32
route6:     2a03:2880:fffe::/48
route6:     2a03:2880:ffff::/48
route6:     2620:0:1cff::/48
... 

聯絡我們

如有問題和疑慮,請透過 webmasters@meta.com 聯絡我們(Meta 網頁管理員)。