還在擔心雙十二漲價,Python做一個天貓商品價格監督器
雙十一在大家的瘋狂購物中結束,今年雙十一,天貓又一次的刷新了自己的戰績,全天的交易額達到了2684億,大家的購買力實在是驚人。但是在如此大的購買過后,有些朋友卻大呼自己“上當”啦。原因是在于他們認為天貓在雙十一之前漲價,然后在雙十一當天顯示降價來欺騙消費者,而網上一搜,這樣的文章可謂不在少數~~
事實真的是這樣嗎?為了讓大家以后不在為這件事情困擾,也為了大家雙十二能夠真真正正的拿到優惠,今天小編就帶領大家利用python來打造一款天貓商品價格監督器。
1.如何監控價格
如何進行價格上的監督呢,首先我們需要拿到這個商品的鏈接,注意的是,這里的鏈接不是淘口令,而是網頁的鏈接地址,如下鏈接:
https://detail.tmall.com/item.htm?spm=a230r.1.14.4.495855e26sBKGG&id=596023065281&ad_id=&am_id=&cm_id=140105335569ed55e27b&pm_id=&abbucket=20
上述的鏈接中,我們可以得知商品的id為596023065281,這一點非常重要,因為有了商品的id,我們才能在后面調用接口返回商品的詳細信息,有時候商品的鏈接中還有skuId的信息,這個skuId代表的是某一具體的商品。我們利用下面的程序,便可以獲取到商品的id信息,并將id進行編碼,組成新的鏈接來獲取商品的詳細信息。
接下來我們便爬取新的鏈接所返回的json數據,并獲取我們需要的商品名稱、價格等信息。部分程序如下圖所示 :
上述的程序中我們將新的鏈接返回的json數據進行分析,并分別按照不同的情況進行數據獲取,這里的情況包括商品是否是預售商品,商品的價格是否是浮動的,例如我們經常會看到某些商品價格是23.0~230.0的情況,或者是商品的規格可以被選擇的情況。
我們按照不同的情況都進行相應的處理后,便提高了程序的穩定性,針對于不同的商品都能獲得我們的價格和名稱。
2.定時爬取
上述的程序完成后,接下來就是如何讓程序按照我們既定的時間進行爬取,這里的話,大家不必時時刻刻不停的爬取,而是定時進行爬取就好,定時的話這里小編利用的是schedule模塊進行定時爬取,大家可以設定每隔幾個小時或者幾分鐘進行爬取。
為了給大家進行展示,小編設定的是每隔5分鐘進行一次爬取,爬取的結果如下圖所示:
3.可視化展示
當我們爬取到一定的時間段后,想要進行可視化,可以利用matplotlib庫來進行價格的可視化展示,程序如下圖所示:
我們最終的展示結果如下圖所示:
如此一來,我們就可以做到商品價格的監控,大家可以在服務器上一直運行該程序,然后在一段時間后畫出該商品的價格曲線,商品的價格動態便會被我們掌握。這樣,我們就再也不怕價格的變化了。