快過年了,我老婆又開始囤年貨了,購物車里全是她加購的零食,閑來無事,就順手爬了淘寶搜索美食出來的商品信息,簡單做了個分析,借此案例給大家學習參考。
數據采集
淘寶的頁面也是通過Ajax來抓取相關數據,但是參數比較復雜,甚至包含加密秘鑰。用selenium來模擬瀏覽器操作,抓取淘寶商品信息,即可做到可見即可爬。我就用selenium爬了淘寶網頁上能顯示的100頁的數據,大約4400個左右,速度也不慢,具體步驟如下:
【1】準備工作
用selenium抓取淘寶商品,并用pyquery解析得到商品的圖片,名稱,價格,購買人數,店鋪名稱和店鋪所在位置。需要安裝selenium,pyquery,以及Chrome瀏覽器并配置ChromeDriver。
我們的目標是獲取商品的信息,那么先搜索,例如我們搜索美食。而我們需要的信息都在每一頁商品條目里。
在頁面的最下面,有個分頁導航,為100頁,要獲得所以的信息只需要從第一頁到帶一百頁順序遍歷。采用selenium模擬瀏覽器不斷的遍歷即可得到,這里為直接輸入頁數然后點擊確定轉跳。這樣即使程序中途出錯,也可以知道爬到那一頁了,而不必從頭再來。
我們爬取淘寶商品信息,只需要得到總共多少條商品條目,而淘寶默認100頁,則只需要每一頁商品條目都加載完之后爬取,然后再轉跳就好了。用selenium只需要定位到專業和條目即可。