適用於Python入門者的爬蟲和資料視覺化案例
阿新 • • 發佈:2018-12-24
本篇文章適用於Python小白的教程篇,如果有哪裡不足歡迎指出來,希望對你幫助。
本篇文章用到的模組:
requests,re,os,jieba,glob,json,lxml,pyecharts,heapq,collection
首先
我們先進入到需要抓取的內容的地址:http://music.163.com/#
本文我們的目的
- 抓取周杰倫的所有歌曲,
- 歌詞,
- 以及評論
直接在搜尋框搜尋周杰倫
第一步:
抓取所有專輯 進入http://music.163.com/#/artist/album?id=6452如下圖所示!
在谷歌瀏覽器的抓包工具(F12)裡面檢視互動資訊發現如下:
如圖所示:是我們需要的資訊,知道這些事情就變得簡單了
我們不需要用複雜的工具比如(selenium)去載入整個頁面
事實上,如果還沒想到抓取歌曲的方法,我估計就得用它了
我們再看header裡面有什麼
這裡面的string就不用管了,因為它已經在我們的url裡面了
只需要看request headers 這個就是我們給伺服器傳送的東西,
傳送之後,伺服器返回給我們的就是network裡面的資訊。
好,接下來我們偽造瀏覽器傳送請求。
具體程式碼如下:
這裡面用到了xpath來找到對應標籤裡面資料,
程式碼不重要,思想懂了就行(程式碼單獨執行可行)
執行結果如下:
開始抓取歌曲資訊
同樣的道理我們通過偽造方式傳送資訊,獲取歌曲資訊!!
直接上程式碼
上面需要注意:xpath來獲取需要的資訊,利用正則來獲取ID(其實有很多方法)
一樣的道理,我們分析network來獲取我們需要的資訊歌詞,評論!!
直接上程式碼
上面需要注意的是:利用json獲取需要的資料(至少比正則快點)
資料分析,視覺化
上面需要注意的是:我們合併資料的時候,可以選擇性的刪除一些無用資料
下面我們對周杰倫歌曲進行情緒化分析
下面完成資料詞頻各種分析
我們來看下結果
怎麼樣,學到了嗎?看完記得動手操作哦!