python課程設計爬蟲篇

   最近發現一個祕密,用python可以完成批量的諸如課程設計學年設計畢業論文模版,即從數據採集數據分析數據可視化GUI界面等不同模塊組合。下面介紹我自己寫的一個簡單例子。

一  摘要

 

        定向網絡爬蟲可以幫助人們快速地從龐大的互聯網中獲取特定的信息,是當今信息時代非常有用的助手。Python 是一門面向對象、解釋型高級程序設計語言,語法簡潔清晰,具有豐富強大的類庫。本文通過使用Python爬蟲技術實現淘寶商家信息的爬取,經過解析庫的解析後把商家信息存儲在Mongodb數據庫中。

       爲了應對淘寶網的反爬蟲機制,爲防止在爬取過程中因訪問次數太頻繁而出現IP被封的情況發生,本文爬取了66代理、快代理等代理網站,一共爬取了8000多條代理,存儲在Redis數據庫中,進一步構建了代理池,每一次爬取淘寶網時,只需從本地的IP池接口(基於Flask實現)拿到IP即可,從而大大增加了爬取淘寶商家信息的速度和數據量,實現了一個可靠,快速的定向爬蟲。

      經過數據預處理後,本文對爬取到的每一種商品進行了可視化分析,如售價銷售量散點圖、各地區店鋪數量圖,商家廣告信息詞雲圖(基於自然語言處理)和城市銷售量熱力圖等。爲了給用戶提供更好的交互性,本文用python傳統的tkint編寫了GUI界面,讓用戶操作更簡單。同時,提供了栩栩如生的動態畫面,用戶可以輕易改變熱力圖顯示區域,讓淘寶商家信息盡在掌控之中。

二  完成效果

GUI界面(用戶點擊具體功能後即可實現對應功能):

 

 

也可當前查看代理:

部分代碼:

實際完成用了2000多行。。。。。。。

數據可視化:

 

 

        用戶可以調節左下邊的熱力圖閾值,從而實現控制熱力圖所顯示的省份數量,讓更關心的省份“暴露”出來,讓其他的省份“隱藏”起來。從上圖我們可以看出籃球商品的店鋪數量主要集中在東南沿海一帶。

     藍色代表該城市銷售數量比較低,往紅色方向代表銷售量比較高。同時,當用戶把鼠標放在該城市上時,將會顯示出商品的具體銷售量。用戶也可以改變左下邊熱力圖閾值,從而調節所顯示的城市數量,進一步找出關心的城市。

詞雲圖:

     進攻型”,“正品”,“耐打”,材質改良參考如“碳纖維”,“碳素”,同時也說明了消費者更傾向於買進攻性的羽毛球拍,在對羽毛球拍的質量上,消費者喜歡輕一點的。

城市銷售量圖:

 

 

具體如何爬取數據可以看我其他幾篇pythn爬蟲博客,都是屬於簡單,易操作的,不熟網友可以操作一下。

三  數據採集

 

     使用python爬蟲採集,想做不同的課程設計需要爬取不同的數據內容,裏面涉及具體的數據獲取,代理池等內容,就不具體介紹了,這部分是最核心部分,決定了上面一層能做什麼。可以看看數據庫裏面數據:

代理池:

 

Mongodb:

 

   爬取信息分爲8大模塊,分別爲體育模塊(有籃球,足球,羽毛球拍等);服裝模塊(有外衣,長褲,短袖等);數碼模塊(有充電寶,筆記本電腦,藍牙等);美食模塊(麪包,櫻桃,蛋糕等);家居模塊(窗簾,沙發,椅子等),美妝模塊(洗面奶,香水,沐浴露等);箱包模塊(行李箱,書包,錢包等);植物花卉模塊(牡丹,蘭花,水生植物等).

    代理池接口界面太醜了,這裏就不展示了。按照開始介紹的思路,從數據爬取到數據可視化,再到界面開發,還是可以對付課程設計之類的,當然還可以爬取圖片,視頻等做CV相關工作,網友有好的思路可以在下方留言,等時機成熟就把源碼扔到github上(其實主要是當初寫時編碼風格太醜了,可讀性不高,怕被罵,hhhhhhh)。最近做java爬蟲,後期抽時間會改善。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章