

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

# 常見問答集
<a name="faq"></a>

## 如果無法使用 robots.txt 檔案該怎麼辦？
<a name="faq1"></a>

沒有 robots.txt 檔案不一定表示您無法或不應抓取網站。爬取應一律以負責的方式完成，遵守網站的資源和網站擁有者的隱含權利。

## 如果 sitemaps.xml 檔案無法使用該怎麼辦？
<a name="faq2"></a>

根據需求，您可以執行下列其中一項操作：
+ **搜尋 HTML 網站地圖** – 尋找列出網站上重要頁面的 HTML 網站地圖頁面。這些通常會在頁尾中連結。
+ **從首頁爬取** – 從首頁開始爬取，並遵循內部連結來探索其他頁面。
+ **分析 URL 模式** – 分析網站的 URL 結構，以識別模式並以程式設計方式產生潛在的 URLs。
+ **檢閱 robots.txt 檔案** – 檢查 robots.txt 檔案是否有任何不允許的頁面或目錄。這些可以提供有關網站結構的線索。
+ **檢閱 API 端點** – 有些網站提供 API 端點，可用於擷取內容和結構資訊。
+ **檢查搜尋引擎結果** – 使用搜尋引擎來尋找網站的索引頁面，方法是使用 [網站：搜尋運算子](https://developers.google.com/search/docs/monitor-debug/search-operators/all-search-site)，例如 `site:example.com`。
+ **分析回連結** – 分析網站的回連結，以探索其他網站連結的重要頁面。
+ **檢閱 Web 封存** – 檢查網際網路封存，例如 [Wayback Machine](http://web.archive.org/)，以取得可能有網站地圖或不同結構的舊版網站。
+ **尋找內容管理系統 (CMS) 模式** – 如果您可以識別 CMS，請使用與該系統相關聯的常見 URL 模式。
+ **確認 JavaScript 轉譯** – 如果網站高度依賴 JavaScript，請確定您的爬蟲程式可以轉譯 JavaScript 來探索動態載入的內容。對於某些網站，Sitemap.xml 檔案會在啟用 JavaScript 轉譯之後載入。

## 我是否可以使用無伺服器解決方案，而不是 Amazon EC2 或 Amazon ECS？
<a name="faq3"></a>

是。網路爬取的 [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)函數可以是可行的選項，特別是對於較小規模或更模組化的爬取任務。不過，對於大規模、長時間執行的爬蟲操作，使用 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體或 Amazon Elastic Container Service (Amazon ECS) 的更傳統方法可能更合適。在選擇適合 Web 爬蟲需求的運算服務時，仔細評估您的特定需求和權衡非常重要。

## 為什麼爬蟲程式會取得 403 狀態碼？
<a name="faq4"></a>

HTTP 403 是 HTTP 狀態碼，表示禁止存取請求的資源。如果請求正確，則伺服器會了解請求，且不會履行該請求。若要防止 403 狀態碼，您可以執行下列動作：
+ 限制您的網路爬取率。
+ 檢查 sitemap 或 robots.txt 檔案是否允許爬蟲程式存取 URL。
+ 嘗試使用行動使用者代理程式，而非桌面使用者代理程式。

如果上述都無法運作，您應該遵守網站擁有者的決定，而不是編目頁面。