Scrapy-Splash爬取淘宝排行榜(二)
四 開始爬取
1.首先分析淘寶排行榜的設置。在這里,商品被分為服飾,數碼家電,化妝品,母嬰,食品,文體,家具,車|玩具|寵物。而點開每個大類,又可以看到商品被分為很多小類。點開任意小類,往下拉就可以看到該類商品的排行信息,包括銷售上升榜,銷售熱門榜等等。這里我只爬取銷售熱門榜的內容,所以繼續點擊銷售熱門榜的標簽。可以看到在這里列出了該類前二十的商品。信息包括:排名,關鍵詞,參考價,成交指數,升降位次。這里,我只爬取前四項內容,另外加上大類的分類id和小類的分類id。大類的id和小類的id可以從淘寶的url中看出:
https://top.taobao.com/index.php?spm=a1z5i.1.2.2.5KF9iq&topId=TR_FS&leafId=50010850如上,topId=后面的就是大類的分類id,其他的大類id還有TR_SM,TR_HZP,TR_MY,TR_SP,TR_WT,TR_JJ,TR_ZH。小類id就來源自leafId=后面的數字,所以我定義的item.py中如下:
rank=Field()title=Field()price=Field()turnover_index=Field()top_id=Field()type_id=Field()2.設置完成items.py后,接下來就是處理item所需要用到的pipeline了。在這里我用到了三個pipeline,分別檢查每個item的所有屬性是否都存在,如果不存在就丟掉這個item并報錯;第二個pipeline就是對每個item中的屬性進行utf8編碼;第三個pipeline就是數據庫的寫入。這里介紹下第三個pipeline.
第三個pipeline內容
其中,每個pipeline都必須實現process_item方法,在當前pipeline的process_item,我就是進行了數據庫的寫入。同時,還可以實現open_spider以及close_spider。在open_spider 我們就連接數據庫,同時創建一個table,用來存入數據。在close_spider 我們就flush table,同時關閉數據庫連接。
3.另外table的創建可以參考這里:
table的創建
實現了insert,flush等方法。
下一篇介紹spider的內容
Scrapy-Splash爬取淘寶排行榜(三)
總結
以上是生活随笔為你收集整理的Scrapy-Splash爬取淘宝排行榜(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020年非上海生源应届普通高校毕业生落
- 下一篇: 微型计算机14年评测16万,多年以后重入