搜尋引擎中網路爬蟲的設計分析

來源:互聯網
上載者:User
關鍵字 搜尋引擎 SEO

  仲介交易 HTTP://www.aliyun.com/zixun/aggregation/6858.html">SEO診斷 淘寶客 雲主機 技術大廳  

說的簡單易懂一些,網路爬蟲跟你使用的〖離線閱讀〗工具差不多。 說離線,其實還是要跟網路聯結,否則怎麼抓東西下來? 那麼不同的地方在哪裡?

  1)網路爬蟲高度可配置性。

  2)網路爬蟲可以解析抓到的網頁裡的連結

  3)網路爬蟲有簡單的存儲配置

  4)網路爬蟲擁有智慧的根據網頁更新分析功能

  5)網路爬蟲的效率相當的高

  那 麼依據特徵,其實也就是要求了,如何設計爬蟲呢? 要注意哪些步驟呢?

  1)url 的遍歷和紀錄

  這點 larbin 做得非常的好,其實對於url的遍歷是很簡單的,例如:

  cat [what you got]  tr \" \\n   gawk '{pri nt $2}'   pcregrep ^HTTP://

  就可以得到一個所由的 url 清單

  2)多進程 VS 多執行緒

  各有優點了,現在一台普通的PC 例如 booso.com 一天可以 輕鬆爬下5個G的資料。 大約20萬網頁。

  3)時間更新控制

  最傻的做法是沒有時間更新權重,一通的爬,回頭再一通的爬。

  通常在下一次爬的的資料要跟上一次進行比較,如果連續5次都沒有變化,那麼將爬這個網頁的時間間隔擴大1倍。

  如果一個網頁在連續5次爬取的時候都有更新,那麼將設置的爬取時間縮短為原來的1/2。

  注意,效率是取勝的關鍵之一。

  4)爬的深度是多少呢?

  看情況了。 如果你比較牛,有幾萬台伺服器做網路爬蟲,我勸您跳過這一點。

  如果你同我一樣只有一台伺服器做網路爬蟲,那麼這樣一個統計您應該知道:

   網頁深度:網頁個數:網頁重要程度

  0 : 1 : : 10

  1 :20 : :8
< br>  2: :600: :5

  3: :2000: :2

  4 above: 6000: 一般無法計算

   好了,爬到三級就差不多了,再深入一是資料量擴大了3/4倍,二是重要度確下降了許多,這叫做「種下的是龍種,收穫的是跳蚤。

  5)爬蟲一般不之間爬對方的網頁,一般是通過一個Proxy出去,這個proxy有緩解壓力的功能,因為當對方的網頁沒有更新的時候,只要拿到 header 的 tag就可以了,沒有必要全部傳輸一次了, 可以大大節約網路頻寬。

  apache webserver裡面紀錄的 304 一般就是被cache的了。

   6)請有空的時候照看一下robots.txt

   7)存儲結構。

  這個人人見智,google 用 gfs 系統,如果你有7/8台伺服器,我勸你用NFS系統,要是你有70/80個伺服器的話我建議你用afs 系統,要是你只有一台伺服器,那麼隨便。

   給一個代碼片斷,是我寫的新聞搜尋引擎是如何進行資料存儲的:

   NAME=`echo $URL  perl -p -e 's/([^\w\-\.\@])/$1 eq "\n" ? "\n":sprintf("%%%2.2x",ord($1))/eg'`mkdir -p $AUTHOR

  newscrawl.pl$URL--user-agent="news.booso.com+(+HTTP ://booso.com)"-outfile=$AUTHOR/$NAME

特別是注意以下幾句:

  1.通常在下一次爬的的資料要跟上一次進行比較,如果連續5次都沒有變化,那麼將爬這個網頁的時間間隔擴大1倍,如果一個網頁在連續5次爬取的時候都有更新, 那麼將設置的爬取時間縮短為原來的1/2。

   網頁更新頻度嚴重影響著搜尋引擎蜘蛛程度對網站的爬行,爬取次數越多意味著網頁收錄幾率會越大、收錄數量越多,收錄是SEO最基礎的一個環節。

  2.好了,爬到三級就差不多了,再深入一是資料量擴大了3/4倍,二是重要度確下降了許多,這叫做「種下的是龍種,收穫的是跳蚤。

  儘量將網站保持在三級目錄內,深層次的網頁會給搜尋引擎帶來很大的壓力,當然,我想Google有足夠的伺服器來承擔這些壓力,但從側面來說,3層目錄下的網頁被抓取及更新的頻度要低很多。 前面,我說過,要想辦法使網站物理結構和邏輯結構吻合,這體現于URL的良好設計,現在你可以檢查下前臺生成的靜態網頁的實際目錄有幾層,考慮是否可以優化。 (責任編輯:admin02)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.