馬上雙11了,準備給親愛的女朋友買一個新款蘋果12。看了一下網上的評論,好像大家都在各種吐槽Iphone12,但是還是被買的凈光光。各種補貨中....
作為一個上過小學的人,咱們不能只聽別人的評論。得用事實說話。所以我在某東上搜索了一下Iphone12。里面有近乎十萬條評論。
蘋果12玩起來到底怎么樣?大家有可能知道,但是我不知道 。所以我只能分析一下大伙的使用感受。這次我將獲取到的數據統計以詞云的方式呈現。這樣呈現的數據比傳統的統計圖更直觀且更有藝術感。
初步計劃是:
1.使用requests獲取某東上的所有評論;
2.使用jieba將獲取到的評論切割成單個詞語,為詞云做鋪墊;
3.使用wordcloud生成詞云圖用以展示數據。
1.首先找到網友評論最多的手機,下拉找到最新評論。一共有100頁評論。
2.如下圖所示,首先我們F12或者右鍵打開開發者模式,然后找到Network下面的All,然后隨便復制一句評論在下面ctrl+F復制搜索。找到這句評論所在的位置。
找到評論的我所在位置之后,點擊左邊的Headers,如圖上所示的Request URL就是我們所要爬取所有評論的link。
3.找到評論所在的link之后,我們就可以上手coding了。評論有近十萬條,每頁只有十條評論,所以就是說有近一萬多頁。但是不要慌,我們先爬取一頁數據看看,只要這一頁成功了,剩下的頁數問題都不大。
4.但是沒有拿到數據,分析之后,確定是少了什么東西,首先我們來看看瀏覽器。
5.發現了嗎?就是少了這個Refer和UserAgent和cookie,回到代碼繼續完善。
6.可以看到接入Refer和UserAgent之后已經拿到了我們想要爬取的數據。
但是這個json格式的數據看起來怪怪的,怪在哪里呢?前面多了這些fetchJSON_comment98vv7990(,后面多了);
所以我們首先要去掉這些對我們無益的東西來拿到正確的json數據
通過改良,拿到了我們想要的數據。
7.接下來似乎單頁內容的爬取已經大功告成了,現在我們舉一反三來試試多頁評論的爬取。
8.為了更加直觀方便的看出評論的內容,我們決定使用詞云來進行展示。
首先需要我們對jieba和wordcloud進行了解,使用pip install jieba對jieba庫進行安裝。然后用jieba對獲取到的評論進行分詞。
9.然后使用pip install wordcloud再安裝wordcloud。最后用generate方法生成詞云圖。
說明一下,默認生成的詞云圖是小蘋果,但是我在這里引入了imageio的 imread方法 以獲取原始圖片apple.jpg的參數。
然后使用mask=mask 傳遞形狀參數,所以最后我們獲取到的就是一張圓形的詞云圖。
可以看得出來,網友對蘋果12的待機時間、拍照效果和運行速度方面還是相當滿意的。
源碼已經整理好,想要學習的小伙伴在微信公眾號內‘印象python’內回復‘iphone12’即可獲取