2011-06-19 19 views
-3

我已經計劃編寫一個很棒的SEO工具,我想知道如何從靜態/動態網站鏈接中找到頁面。從鏈接中查找頁面的技術

我將只有像www.yahoo.com這樣的域名,我的系統應該找到該主機中存在的所有頁面。

有沒有什麼技術可以做到這一點?我可以使用任何語言,但我認爲.NET會真正推動事情。

回答

0

我想你幾乎肯定將不得不解析爲引用的頁面代碼HREF =

使用System.WebRequest.Create(uri)在響應流中,您可以請求的URL,然後正則表達式。

如果在.Net中有一個更簡單的方法,我肯定會感興趣。

+0

我知道這種方式,但不會留下任何頁面上沒有鏈接的一些頁面嗎? – Neutralizer

0

除非有一個網站地圖(大多數時間不存在),否則您不能只是「神奇地」找到域中存在的所有網頁。

以下是你可以做的事 1.蠻力 - 這是一個壞主意,因爲它只需要很長時間。 2.正則表達式源代碼 - 查找標籤內的正則表達式

2是您最好的選擇,因爲它將提供該頁面上的所有鏈接。我會考慮添加一個遞歸功能,以便「蜘蛛」出來並在種子中找到的所有頁面上執行相同的正則表達式操作。

這裏是算法

  1. 開始從一個種子(即:www.yahoo.com)

  2. 在這個頁面的源代碼進行正則表達式,並存儲在各個環節a 數據結構

  3. 在#2中找到的每個鏈接上遞歸調用#1。你可能想 此限制只在種子域住 鏈接(即:開始或 包含www.yahoo.com),以及不包括鏈接到你已經訪問過

具有訪問者設計模式的樹型數據結構對於此類實現非常理想。

相關問題