SEO:蜘蛛程式如何爬取網頁

SEO搜尋引擎優化

 SEO更深層次的方面主要在於一些原理性的東西,中國SEO特此整理了關於搜索引擎蜘蛛的一些原理,希望對SEO愛好者在學習SEO的過程中能有一些指導意義:

  搜索引擎伺服器會一刻不停的從互聯網上抓取網頁,存放到本地的機器上,然後建立索引,並且對外提供檢索服務。典型的工作流程是

1。搜集

在這個流程中,用網路爬蟲 或者叫spider的程式模組,不斷地從web上尋找網頁並且下載下來。最長用的方法是,把整個web網路看作是一個有向圖,從種子URL集合開始,開始抓取並且存到本地,並且解析出網頁內容中包含的url鏈結,然後把這些新的url加到url集合中。一般按照寬度優先的方式來查找。 這個過程不斷重複直到URL集合中所有鏈結都已經採集過,或者是採集時間限制到了,或者是所有的不超過某一深度的連接都已經採集過了。這些下載下來的網頁的標準html文本,以及採集url,採集時間等要素都要記錄下來。

採集器還要注意對被採集網站的影響,避免採集造成攻擊式的後果。

2。預處理

這個過程比較複雜

2.1 對html網頁進行解析並且建立索引

html網頁需要去掉html標籤和一些垃圾連接,比如廣告等。 對於網頁的正文內容要建立索引。 索引是檢索最重要的資料來源,對於檢索速度和效果影響是根本性的。在索引中詞和網頁都用數位來標記。 常用的是倒排索引,格式如下 termid : docid1 docid2 …docid3 . 其中termid也就是我們常說的詞,(這個要通過對網頁內容切詞/分詞之後得到),在索引中一般用詞的編號來代替。docidx是所有包含該term的網頁的編號。

2.2 計算每篇網頁的重要程度。 一般各個網站的首頁都比較重要,需要賦予較高的權重。常用的方法是利用網頁之間的鏈結關係,類似學術研究上的相互引用關係,來計算每個網頁的重要性,這就是page rank . google就是靠它起家的.

2.3 重複網頁的消除. 網路上的網頁多是好幾份的,大家你抄我的我抄你的,連個錯別字都不會改的情況都存在. 這些重複網頁浪費了搜索引擎的代價,更重要的是影響檢索的效果.

3. 檢索服務

我們在檢索端輸入查詢串之後,要經過分詞處理.然後利用的到詞,得到termid,到前面2.1 生成的索引查找, 得到符合檢索條件的網頁的id. 然後用網頁的內容計算的權重和2.2 計算的page rank數值,以及其他的權重(比如 anchor text 等) 一起對每個網頁給出一個最終權重. 這些網頁按照權重從大到小的排序之後輸出. 就是我們看到的檢索結果了.

當然這裏談到的只是一些最基本的實現方法. 其實每個步驟都是非常複雜的一項工作,很多的技巧在裏面,比如存儲結構,比如一些自然語言處理技術,比如分類.聚類等.

上面的方法只能做一個demo系統,要真正的高性能的好的系統,還要其他更深的技術.搜索引擎是個高門檻的東西.

Comment(1)

  1. pingback Website Design 與SEO 七項要注意的事 | 168 Net Money says

    […] 有些搜索引擎(如FAST)是不支援框架結構的,他們的“蜘蛛”程式無法閱讀這樣的網頁。   var addthis_pub="ftpgt"; […]

Post a comment

 

Loading...