看淘寶搜索技術博客上的一篇文章《定向抓取漫談》,對通用爬蟲進行了簡單的定義,如下:
抓取策略:那些網頁是我們需要去下載的,那些是無需下載的,那些網頁是我們優先下載的,定義清楚之後,能節省很多無謂的爬取。
更新策略:監控列表頁來發現新的頁面;定期check 頁面是否過期等等。
抽取策略:我們應該如何的從網頁中抽取我們想要的內容,不僅僅包含最終的目標內容,還有下一步要抓取的url。
抓取頻率:我們需要合理的去下載一個網站,卻又不失效率。
讓我對“如何和爬蟲對話 ”這個課題有了一些思考,下面歸納的主要用於迎合上面提到的爬蟲“抓取策略”。
1、通過 robots.txt 和爬蟲對話:搜索引擎發現一個新站,原則上第一個訪問的就是 robots.txt 文件,可以通過 allow/disallow 語法告訴搜索引擎那些文件目錄可以被抓取和不可以被抓取。
關於 robots.txt 的詳細介紹:about /robots.txt
另外需要注意的是:allow/disallow 語法的順序是有區別的
2、通過 meta tag 和爬蟲對話:比如有的時候我們希望網站列表頁不被搜索引擎收錄但是又希望搜索引擎抓取,那麼可以通過 <meta name=”robots” content=”noindex,follow”> 告訴爬蟲,其他常見的還有 noarchive,nosnippet,noodp 等。
關於 meta tag 的更多介紹:Metadata Elements
3、通過 rel=“nofollow” 和爬蟲對話:關於 rel=”nofollow” 最近國平寫了一篇文章《如何用好 nofollow》很值得一讀,相信讀完之後你會有很大的啟發。
4、通過 rel=“canonical” 和爬蟲對話:關於 rel=”canonical” 谷歌網站站長工具幫助有很詳細的介紹:深入了解 rel=”canonical”
5、通過網站地圖和爬蟲對話:比較常見的是 xml 格式 sitemap 和 html 格式 sitemap,xml 格式 sitemap 可以分割處理或者壓縮壓縮,另外,sitemap 的地址可以寫入到 robots.txt 文件。
6、通過網站管理員工具和搜索引擎對話:我們接觸最多的就是谷歌網站管理員工具,可以設定 googlebot 抓取的頻率,屏蔽不想被抓取的鏈接,控制 sitelinks 等,另外,Bing 和 Yahoo 也都有管理員工具,百度有一個百度站長平台,內測一年多了仍舊在內測,沒有邀請碼無法注冊。
另外,這裡面還衍生出一個概念,就是我一直比較重視的網站收錄比,所謂網站收錄比=網站在搜索引擎的收錄數/網站真實數據量,網站收錄比越高,說明搜索引擎對網站的抓取越順利。
暫時就想到這些,目的在於嘗試性的探討如何更有效的提高網站在搜索引擎的收錄量。
權當拋磚引玉,歡迎各位補充!
備注:
網絡爬蟲(web crawler)又稱為網絡蜘蛛(web spider)是一段計算機程序,它從互聯網上按照一定的邏輯和算法抓取和下載互聯網的網頁,是搜索引擎的一個重要組成部分。