Scrapy+Redis+Mongodb爬取JD的商品評論

整體思路:

先抓取某一類商品的所有的商品ID,存入Redis

從Redis取出商品ID,然后爬取此商品所有評論,存入Mongodb。

分析頁面

商品ID列表

打開筆記本電腦的分類:http://list.jd.com/list.html?cat=670,671,6722,其中url里面的cat=670,671,672就是商品類別,然后頁面上的每一個筆記本電腦都會鏈接到它自己的詳情頁面:http://item.jd.com/1592705.html,url中的1466274就是商品ID,打開詳情頁面以后,確認(rèn)這個數(shù)字就是商品ID了。


所以,想要獲取某一類別的所有商品ID,只需要通過商品列表頁面,就可以把一頁的商品ID取出來。然后,再翻頁,直到?jīng)]有新的商品ID出現(xiàn)?;蛘咄ㄟ^頁面中的最大頁數(shù)來判斷。

找到了數(shù)據(jù)的位置以后,就是如何把它們提取出來了。

提取數(shù)據(jù)

粘貼的圖像802x427 224 KB

商品的ID,可以看到,是在div下面的data-sku屬性`。所以可以通過正則,來把整頁的商品ID取出來。

data-sku="(\d+)"

用同樣的方法,可以看到最大頁數(shù)的地方是這樣的:

1/208

所以繼續(xù)用正則(這個地方用XPATH感覺更好),來將其中的208取出來

fp-text.+?(\d+)

某個商品的評論信息

點進一個商品詳情,隨便選取一段評論,在網(wǎng)頁的源碼中無法查到,說明評論數(shù)據(jù)是之后加載的。打開開發(fā)者工具中的Network頁面,點擊下一頁的評論,可以看到如下:

粘貼的圖像1398x465 237 KB

其中被我選中的這個請求,就是獲得這個商品評論的方式。也就是:http://s.club.jd.com/productpage/p-[skuid]-s-0-t-0-p-[page].html。

第一次嘗試

上述內(nèi)容中,已經(jīng)知道了如何獲得某一類商品的ID,以及知道如何獲得商品的評論數(shù)據(jù)了。所以,就可以開始最基本的爬蟲的編寫了。但是編寫前,有一個事情需要確定,那就是京東的**反爬蟲**機制。所以,寫了兩個簡單的腳本,來獲取相應(yīng)的數(shù)據(jù)。

獲取商品列表的代碼


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容