2012-07-24 65 views
4

是否有任何快速(也許是多線程)的方式來抓取我的網站(點擊所有本地鏈接)尋找404/500錯誤(即確保200響應)?如何抓取我的網站以檢測404/500錯誤?

我也希望能夠將它設置爲只能點擊進入每種類型的鏈接。所以如果我有1000個分類頁面,它只能點擊一個。

http://code.google.com/p/crawler4j/一個不錯的選擇?

我想要一些非常容易設置的東西,而且我更喜歡使用PHP而不是Java(儘管如果Java速度明顯更快,那也可以)。

+0

這個問題將在更適合:http://webmasters.stackexchange.com – alfasin 2012-07-24 21:33:59

+0

我感覺像一個解決方案,涉及檢查的目錄結構沒有暴力強制HTTP請求將是最佳的。這隻會對404錯誤有幫助,但仍有500個錯誤。 – Wug 2012-07-24 21:34:23

回答

2

您可以使用舊的穩定Xenu工具來抓取您的網站。

您可以配置他使用100個線程和狀態碼結果進行排序[500 \ 404 \ 200 \ 403]

+0

這非常酷,但理想情況下,我可以作爲構建過程的一部分自動運行爬網。謝謝! – Ryan 2012-07-24 23:16:24

+0

Hay Ryan如果您爲xenu支付費用,您可以獲得具有命令行參數的版本並自動運行更多信息: http://home.snafu.de/tilman/xenulink.html#Future – 2012-07-24 23:24:23

+0

我還沒有儘管如此,但我公司的主要開發人員也獨立推薦了這一功能,因此我會將其標記爲答案。 – Ryan 2012-07-26 03:46:25

0

你可以用任何數量的開源Python項目的很輕鬆地實現這一點:

  1. 機械化似乎很流行
  2. 美麗的湯和urllib的

你會抓取使用一個網站的方法並檢查服務器的響應,這應該是非常簡單的。然而,如果你有一個網站地圖(或者包含你所有網址的任何列表),你可以試着用cURL或者urllib打開每個網站,並且無需抓取就可以得到你的迴應。

0

定義「快」?你的網站有多大? cURL將是一個很好的開始:http://curl.haxx.se/docs/manual.html

除非你有一個真正巨大的網站,並且需要在秒的時間尺度上進行測試,只需將URL列舉到列表中並嘗試每個網站。

+1

這是一個很大的網站,我不知道所有的網址。所以我認爲抓取鏈接(抓取)是必要的。 – Ryan 2012-07-24 22:35:28

+1

你怎麼能不知道所有的網址?你不能讀自己的目錄? – 2012-07-25 06:53:31