我已經計劃編寫一個很棒的SEO工具,我想知道如何從靜態/動態網站鏈接中找到頁面。從鏈接中查找頁面的技術
我將只有像www.yahoo.com這樣的域名,我的系統應該找到該主機中存在的所有頁面。
有沒有什麼技術可以做到這一點?我可以使用任何語言,但我認爲.NET會真正推動事情。
我已經計劃編寫一個很棒的SEO工具,我想知道如何從靜態/動態網站鏈接中找到頁面。從鏈接中查找頁面的技術
我將只有像www.yahoo.com這樣的域名,我的系統應該找到該主機中存在的所有頁面。
有沒有什麼技術可以做到這一點?我可以使用任何語言,但我認爲.NET會真正推動事情。
我想你幾乎肯定將不得不解析爲引用的頁面代碼HREF =
使用System.WebRequest.Create(uri)
在響應流中,您可以請求的URL,然後正則表達式。
如果在.Net中有一個更簡單的方法,我肯定會感興趣。
除非有一個網站地圖(大多數時間不存在),否則您不能只是「神奇地」找到域中存在的所有網頁。
以下是你可以做的事 1.蠻力 - 這是一個壞主意,因爲它只需要很長時間。 2.正則表達式源代碼 - 查找標籤內的正則表達式
2是您最好的選擇,因爲它將提供該頁面上的所有鏈接。我會考慮添加一個遞歸功能,以便「蜘蛛」出來並在種子中找到的所有頁面上執行相同的正則表達式操作。
這裏是算法
頁
開始從一個種子(即:www.yahoo.com)
在這個頁面的源代碼進行正則表達式,並存儲在各個環節a 數據結構
在#2中找到的每個鏈接上遞歸調用#1。你可能想 此限制只在種子域住 鏈接(即:開始或 包含www.yahoo.com),以及不包括鏈接到你已經訪問過
具有訪問者設計模式的樹型數據結構對於此類實現非常理想。
我知道這種方式,但不會留下任何頁面上沒有鏈接的一些頁面嗎? – Neutralizer