優化器中的抓取錯誤

已發表: 2022-04-17

有時 SISTRIX Crawler 無法完全捕獲頁面上的所有內容。 在這裡,我們來看看最常見的原因以及原因,並向您展示這些問題的解決方案。

SISTRIX 爬蟲

所有與 SISTRIX Toolbox 相關的訪問均由 SISTRIX 爬蟲執行。 這個爬蟲可以通過兩個不同的特徵來識別:一方面它是用戶代理,每次訪問頁面時都會提交它。 默認情況下,用戶代理是:

 Mozilla/5.0 (compatible; SISTRIX Crawler; http://crawler.sistrix.net/)

另一方面,SISTRIX Crawler 的所有 IP 地址都指向域“sistrix.net”的主機名。 例如,我們在 IP 136.243.92.8上的爬蟲將返回 Reverse-DNS-Entry 136-243-92-8.crawler.sistrix.net

SISTRIX 爬蟲會持續密切關注訪問頁面的加載速度,並將請求新頁面的速度調整到這個速度。 這樣,我們可以確保我們不會超載網絡服務器。 更多信息請訪問 crawler.sistrix.net。

在優化器中,您還可以控制優化器爬蟲的用戶代理和爬取強度。 您可以在“項目管理 > 爬蟲”下的“爬取設置”和“爬取速度”框中的每個項目中找到這些設置。

機器人.txt

在首次訪問網站之前,我們的爬蟲會在域的根目錄以及每個主機名上請求一個名為“robots.txt”的文件。 如果 Crawler 找到此文件,它會對其進行分析並密切觀察文件中發現的規則和限制。 將接受僅適用於“sistrix”的規則以及帶有標識符“*”的一般規則。 如果您使用 robots.txt 文件,我們要求您檢查內容以確保 SISTRIX 爬蟲沒有被意外限制。

如果您在 robots.txt 中引用站點地圖,我們的抓取工具會將其作為抓取基地進行訪問。

餅乾

SISTRIX 爬蟲在檢查頁面時不會保存 cookie。 請確保我們的爬蟲可以訪問頁面的所有部分,而無需接受 cookie。 您可以在“Crawler-Settings”下的“Project-Management”中找到我們爬蟲的IP。

JavaScript

我們的爬蟲不使用 JavaScript。 請確保所有頁面都可以作為靜態 HTML 頁面訪問,以便我們的爬蟲可以分析它們。

服務器端限制

SISTRIX Crawler 可以在服務器端進行限制。 在這種情況下,我們的爬蟲在首次訪問頁面時會收到一條帶有 HTTP-status-code 403(受限)的錯誤消息。 之後,它將無法訪問此服務器上的任何頁面。 這樣的服務器端限制可以設置在不同的系統級別上。 一個好的起點是檢查 Apache-webserver 的“.htaccess”文件。 如果這裡沒有找到線索,您應該聯繫提供商或主機。 遺憾的是,我們自己無法解除這些限制。

常見限制示例

robots.txt 限制

如果 robots.txt 限制了我們的優化器抓取工具,您將收到“robots.txt 阻止抓取”錯誤。 請檢查您的 robots.txt 中是否存在一般(用戶代理:*)或特定(用戶代理:Sistrix)限制。 如果您在項目的爬蟲設置中更改了用戶代理,請也檢查這些設置。

僅抓取少量頁面或未抓取頁面

為什麼我們的爬蟲只能抓取少量頁面甚至根本無法抓取頁面有多種原因。 在優化器項目中,轉到“分析 > 專家模式”。 在那裡,您將找到該域上所有已爬網 HTML 文檔的詳盡列表。 您可以通過在表格中向右滾動一點來找到狀態代碼。 這應該告訴您為什麼沒有抓取與此域關聯的所有頁面。

  • 200 :如果狀態碼是200,但是沒有其他頁面被爬過,原因往往是以下之一:
    • 缺少內部鏈接:我們的爬蟲會跟踪所有未被爬蟲阻止的內部鏈接。 請檢查起始頁面上是否有內部鏈接,以及目標頁面是否可能被 robots.txt 或爬蟲設置阻止我們的爬蟲。
    • Geo-IP 設置:為了以每個用戶的相應語言顯示網站,檢查 IP 的來源國。 我們所有的爬蟲都位於德國,如果您希望它訪問地理 IP 屏障後面的所有可用語言內容,則有必要將我們的爬蟲 IP 列入白名單。
  • 301 / 302 :如果出現狀態碼 301 或 302,請檢查鏈接是否指向不同的域 - 例如 sistrix.at,通過 301 重定嚮導致 sistrix.de。 Optimizer 爬蟲始終停留在項目設置中輸入的域(或主機或目錄)上。 如果我為 sistrix.at 創建一個項目,我們的爬蟲將識別 301 重定向並以專家模式顯示它,但不會跟隨重定向到 sistrix.de,因為這是一個不同的域。
  • 403 :如果狀態碼 403 是即時傳遞的,或者在幾個可爬取頁面(狀態碼 200)之後只顯示 403 碼,您應該檢查服務器為什麼限制我們的爬蟲請求頁面。 請參閱“服務器端限制”條目。
  • 5xx :如果狀態碼 500 或 5xx 顯示在狀態碼字段中,這意味著由於服務器錯誤,服務器無法處理我們的請求。 在這種情況下,您應該等待幾分鐘,然後使用“Project-Management”菜單中的“Restart Crawler”按鈕。 如果 5xx 狀態碼不斷出現,請檢查服務器過載且無法傳遞頁面的原因。

為什麼 Google 會找到比 SISTRIX 其他/更多的內容?

我們的爬蟲總是從項目的起始頁開始,儘管可能會在爬蟲設置中添加更多起始頁。 從這一點開始,我們將跟踪所有未被阻止的內部鏈接。 在這些鏈接頁面上,我們將跟踪所有內部鏈接,直到找到所有我們尚未請求的鏈接。

可能發生的情況是,例如,未在內部鏈接的 AdWords 目標網頁不會出現在結果中。 通常這樣做是為了不影響 AdWords 跟踪。 這意味著這些頁面對我們的爬蟲來說是不可見的。 當然,谷歌知道這些頁面。

如果您通過 Google 輸入我們項目的站點地圖,它可以在 robots.txt 中鏈接到它。 這樣,我們的爬蟲就可以識別並將其用作爬蟲基地。

Google 搜索的索引頁面與優化器中抓取的頁面數量之間可能存在差異的另一個原因可能是 Google 搜索索引中的重複內容。