做運營,如何用代碼爬抓電商數據

做數據分析,沒有數據,是分析師的硬傷。但不完全是硬傷,沒有數據其實也可以利用邏輯思維能力來分析推斷,這個以後有機會跟大家分享。今天,我要講怎麼用代碼獲取數據。

沒辦法很詳細地講,只能大致上講解一下,然後給個實例。

工具:Excel2013(用哪個版本都是可以的)

語言:Visual Basic for Applications(簡稱VBA,集成在Office套件裡面的開發程式,有些精簡版或者用戶在安裝的時候取消了VBA套件,就會無法啟動)

實例一:獲取淘寶搜索結果頁寶貝信息

如下圖,搜索了關鍵詞“T恤”後,會看到類似這樣的結果,我想把寶貝標題和價格,排名位置等信息給抓取到本地數據庫或者表格裡面。

做運營,如何用代碼爬抓電商數據

我們右擊一下頁面,點查看源文件

做運營,如何用代碼爬抓電商數據

看到的結果如下

做運營,如何用代碼爬抓電商數據

這個是網頁源碼,我要介紹的方法,就是通過網頁請求,獲取這裡的源碼,然後再對源碼進行解析。

觀察源碼這個步驟很重要,在這裡會決定數據要怎麼拿。

比如要取出標題

做運營,如何用代碼爬抓電商數據

標題是在 title= 後面的一串字符,又以 > 符號結束。把這兩個看成是分隔符的話,那麼標題就藏在兩個分隔符的中間。

那麼,思路上,只要知道這兩個分割符的位置,那麼,就可以取出標題了。

下面,讓我們開始實踐

首先,我們準備好工具,在excel的文件--選項--自定義功能區--主選項卡,把開發工具打鉤。

做運營,如何用代碼爬抓電商數據

做運營,如何用代碼爬抓電商數據

然後進入vba編程環境

做運營,如何用代碼爬抓電商數據

插入模塊

做運營,如何用代碼爬抓電商數據

可以在這些模塊裡面寫程式,下圖我一口氣插入了4個模塊,我在其中一個模塊上面寫入代碼即可。

做運營,如何用代碼爬抓電商數據

然後寫入代碼(這裡是截圖,在文章最後,會附上文本版的代碼)

做運營,如何用代碼爬抓電商數據

做運營,如何用代碼爬抓電商數據

大家注意到,在第四行,有個很長很長的一串

URL = "http://s.taobao.com/search?q=T%D0%F4&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=1.6659421.754896237.1&initiative_id=tbindexz_20140301"

大家只要把這個鏈接替換掉就可以了。這個鏈接,是搜索後的結果頁。可以按照下文的規則來拼湊,在淘寶敲入關鍵詞,然後選擇好屬性或者排序方式後,把網址貼過來,然後運行這段代碼就可以了。下圖是運行按鍵的位置

做運營,如何用代碼爬抓電商數據

運行後得到的結果

做運營,如何用代碼爬抓電商數據

這段代碼的解釋,我都註釋在代碼裡頭了。其實可以把這個過程寫成更加智能。網址的q=後面的T%D0%F4是T恤的uncode碼,直接出現在網址裡頭,其實只要寫多一個轉碼程序,可以直接在excel的工作表或者窗體裡面輸入關鍵詞進行搜索。

另外,利用參數sort來指定排名類型,如

sort=default是綜合排名

sort=renqi-desc是人氣排名

sort=sale-desc是銷量排名

s=40是頁碼,公式是40*(頁碼-1),非常明顯,s=40就是第2頁

直接利用代碼組合網址,如http://s.taobao.com/search?q=T%D0%F4&sort=renqi-desc&s=40(複製到淘寶看下結果哦)

這是T恤下的人氣排名第二頁的搜索結果

再做個查詢按鍵,就變成軟件了。

如果用時間來控制,可以讓程序每隔幾分鐘或者幾小時運行一次,達到自動爬抓數據的目的。

這部分我就不詳說了,感興趣的自己研究。

實例二:用API拿數據的方法

首先,要到api.taobao.com註冊開發者身份,拿到app key 和 app secret

做運營,如何用代碼爬抓電商數據

然後,根據開發文檔的API列表:open.taobao.com/api/api_list.htm,查找相應功能的api。那麼下面我用taobao.itemcats.get,來做例子

首先,要閱讀這個API的說明文檔,知道這個接口的調用參數,

做運營,如何用代碼爬抓電商數據

然後可以到沙箱裡面測試http://api.taobao.com/apitools/apiTools.htm?catId=3&apiName=taobao.itemcats.get,可以觀察返回的結果,我們要的數據一樣在兩個分隔符的中間,只要提取出來即可。

做運營,如何用代碼爬抓電商數據

最後寫代碼即可,這段代碼,只要把app_key和secret替換成自己的,就可以運行了。

做運營,如何用代碼爬抓電商數據

運行結果是把女裝(parent_cid是16)的子類目代碼和對應的子類目名稱獲取下來

做運營,如何用代碼爬抓電商數據


分享到:


相關文章: