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