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