天貓、淘寶運營資料抓取技術概述

weibo.com發表於2015-03-01

  對通用網站的資料抓取,比如:谷歌和百度,都有自己的爬蟲,當然,爬蟲也都是有程式寫出來的。根據百度百科的定義:網路爬蟲(又被稱為網頁蜘蛛,網路機器人),是一種按照一定的規則,自動的抓取全球資訊網資訊的程式或者指令碼。另外一些不常使用的名字還有螞蟻,自動索引,模擬程式或者蠕蟲。不過,淘寶為了遮蔽網路爬蟲對自身資料(例如商品價格、月銷量、收藏量、評價、月成交記錄等等)的抓取,往往是採取一種名叫Ajax的技術,在網頁載入完成後,再次載入這些資料,所以通用的網路爬蟲抓取技術對抓取淘寶的這些資料是無效的。針對淘寶本身的特點,天貓、淘寶資料抓取的技術無外乎以下四種技術:

  1、通用的網頁解析技術,適合解析一些常見的資料,例如:關鍵詞排名資料的抓取、寶貝標題、寶貝下架時間等等。

  2、通過瀏覽器外掛技術:無論是IE、火狐(Firefox)還是谷歌瀏覽器(Chrome),都有自己的外掛技術,淘寶無論如何增強反爬蟲技術,最終總是要在瀏覽器裡按照正常的資料格式顯示出來的,所以等這些資料(例如商品價格、月銷量、收藏量、評價、月成交記錄等等)在瀏覽器里正常顯示後,那麼通過瀏覽器外掛介面就可以抓取到這些資料了。有的公司就是這麼做的。

  3、做一個客戶端,在客戶端裡模擬一個瀏覽器,模擬使用者搜尋,還是那句話,淘寶無論如何增強反爬蟲技術,最終總是要在瀏覽器裡按照正常的資料格式顯示出來的,現在很多的刷流量的工具就是這麼做的。

  4、通過一些網頁分析工具,分析淘寶網頁顯示過程,找到呈現商品價格、月銷量、收藏量、評價、月成交記錄等等的Ajax連結,也是模擬一個瀏覽器請求這些Ajax連結,從而無須解析網頁,直接解析這些Ajax返回來的資料就可以了。

  由於淘寶對資料的抓取採取的措施越來越嚴,只用某一種方法有時是不能達到目的的。例如最簡便的無疑是第三種,通過網頁分析工具,直接找到這些Ajax呼叫,但是淘寶對通過Ajax連結呼叫的次數是有限制的,呼叫次數一多,觸發了淘寶反爬蟲引擎,就會出現彈出驗證碼、或者返回“你已經被反爬蟲作弊引擎發現”等等申明,就會抓取不到想要的這些資料了。所以最好的資料抓取方式就是三種方式相結合。

相關文章