釘釘在線求饒?爬取釘釘App Store真實(shí)評(píng)價(jià)數(shù)據(jù)并分析
一、前言
最近釘釘火了,因?yàn)橐咔橛绊懀斸敱唤逃窟x為給學(xué)生用來在線上網(wǎng)課的平臺(tái),本以為自己因?yàn)闃I(yè)務(wù)過硬得到官方的認(rèn)可,是2020上天選中的寵鵝,萬萬沒想到到由于小學(xué)生不爽被占用寒假時(shí)間上課,于是集體出征在各大應(yīng)用商店給釘釘打低分??

于是就出現(xiàn)了前幾天的“釘釘十一億下載量,整體評(píng)分只有一星”,真是好慘一軟件。那么就跟隨本文一起通過爬取釘釘在App Store的評(píng)分,看看用戶的真實(shí)反應(yīng)吧。
二、數(shù)據(jù)爬取
我們的目標(biāo)就是從App Store官網(wǎng)拿下這些評(píng)論數(shù)據(jù)做分析??

本來以為要寫個(gè)爬蟲在用正則表達(dá)式去提取,結(jié)果一搜發(fā)現(xiàn)有現(xiàn)成的App Store評(píng)論API??
https://itunes.apple.com/rss/customerreviews/page=1/id=/sortby=mostrecent/json?l=en&&cc=cn?
只要將釘釘?shù)膇d添加進(jìn)去就OK,這就很簡(jiǎn)單了,連F12都不用??

于是我們很輕松的就得到了釘釘在App Store的評(píng)論API
https://itunes.apple.com/rss/customerreviews/page=1/id=930368978/sortby=mostrecent/json?l=en&&cc=cn?
打開看看,OK就是這個(gè)??,但是比較可惜的是App Store并沒有提供評(píng)論時(shí)間,所以對(duì)我們有用的數(shù)據(jù)就只有用戶評(píng)分、評(píng)論標(biāo)題、評(píng)論內(nèi)容。

注意到這僅僅是第一頁的評(píng)論,而通過測(cè)試發(fā)現(xiàn)最多可以查看10頁的評(píng)論,所以寫一個(gè)簡(jiǎn)單的循環(huán)把我們需要的信息提取出來,具體代碼??
import requests
import pandas as pd
from pandas import DataFrame
flag = [1,2,3,4,5,6,7,8,9,10]
urllist = []
for i in flag:
url = f"https://itunes.apple.com/rss/customerreviews/page={i}/id=930368978/sortby=mostrecent/json?l=en&&cc=cn"
urllist.append(url)
rating = [] #評(píng)分
title = [] #標(biāo)題
content = [] #內(nèi)容
for url in urllist:
res = requests.get(url)
data = res.json()['feed']['entry']
for i in range(len(data)):
rating.append(data[i]['im:rating']['label'])
title.append(data[i]['title']['label'])
content.append(data[i]['content']['label'])
data = {'打分':rating,
'標(biāo)題':title,
'內(nèi)容':content
}
df = DataFrame(data)最終爬取的數(shù)據(jù)長(zhǎng)這樣??

三、數(shù)據(jù)分析
我們首先看下這500條評(píng)分的分值分布

從圖中可以看出一共500次評(píng)分,1分和5分占了490次,其中打一分的250人,5分的240人,而2分、3分、4分的人數(shù)則分別為1、3、6人??磥泶蚍值母魑贿€真是愛憎分明。
接著我們?cè)購膖itle和content中提取與學(xué)生相關(guān)的文字并統(tǒng)計(jì)??

看來不管是不是評(píng)論者是不是小學(xué)生,都喜歡在評(píng)論里面聊小學(xué)生。
我們?cè)俳y(tǒng)計(jì)一下標(biāo)題和內(nèi)容中出現(xiàn)最多的一些關(guān)鍵詞??梢杂胮andas里面的.str.contains()方法??

再可視化一下??

可以看到,給好評(píng)的人和給一星的人旗鼓相當(dāng),有罵釘釘吵著下架的,也有鼓勵(lì)釘釘喊著加油的。但是唯一值得關(guān)注的是,有不少人想分期消費(fèi)


好了,最后我們來制作下詞云圖,上面的可視化主要利用pyecharts,具體在我之前文章中有詳細(xì)說明。而詞云圖的制作選擇了python里的wordcloud庫,具體使用方法就不細(xì)說,看代碼??
from wordcloud import WordCloud
import matplotlib.pyplot as plt #繪制圖像的模塊
import jieba #jieba分詞
path_txt='content.txt'
f = open(path_txt,'r',encoding='UTF-8').read()
# 結(jié)巴分詞,生成字符串,wordcloud無法直接生成正確的中文詞云
cut_text = " ".join(jieba.cut(f))
wordcloud = WordCloud(
#設(shè)置字體,不然會(huì)出現(xiàn)口字亂碼,文字的路徑是電腦的字體一般路徑,可以換成別的
font_path="msyh.ttc",
#設(shè)置了背景,寬高
background_color="white",width=2000,height=1880).generate(cut_text)
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.show()從標(biāo)題生成的詞云圖來看,依舊是褒貶摻半

下面是由內(nèi)容生成的詞云圖

四、結(jié)束語
以上就是本文的全部?jī)?nèi)容,筆者也是使用釘釘進(jìn)行辦公。而對(duì)于釘釘這波哭笑不得的熱搜,我想釘釘官方鬼畜已經(jīng)給出了答案






最新進(jìn)展:釘釘被小學(xué)生逼瘋,拍片在線求饒,哈哈哈!
【內(nèi)含福利】資源極度敏感!隨時(shí)刪除!絕對(duì)禁止傳播!
推薦掃碼關(guān)注一波~~
點(diǎn)個(gè)在看在走哦
