首頁>資訊>

秘密為同學們釋出最多的是哪些內容?與哪些相關?或者哪些同學喜歡去秘密下方評論?評論最多的微博多於什麼相關?秘密經常會在什麼時間釋出微博?釋出的微博都是情感正向的還是負向的?

當然這些問題後臺應該最清楚,也有直接的資料,不過這裡我想透過爬取的資料來看看這些問題,或許會得出不一樣的結論。

抓取網址 秘密

想要的資料包括:

未拿資料:

知道想要的資料後,接下來就開始尋找資料

一般介面資料都會存在 XHR,所以沿著這個方向基本能找到資料

基本的髒資料處理好之後,下面就可以開始分析啦~~~

(1)秘密微博詞雲圖

首先,把爬取到的所有微博篩選出來

接下來,將資料匯入程式中,得到如下的詞雲圖

或者,修改一下蒙版

可以發現在最近這段時間,秘密釋出的微博內容中這幾個詞出現得最多,包括:考研、圖書館、寢室、學校等,臨近考研,同學們可能都比較關心學校啊、圖書館啊、座位位置啊這些,這裡也祝願咱們學校的考研人都能取得理想成績,但行好事,莫問前程。

除此之外,喜歡、女朋友、男朋友等詞語也常常出現在微博中,也許是冬天適合談戀愛吧,記得多買一杯古茗奶茶,把它捧在手心裡,暖暖的,很貼心!

資料視覺化呈現

from pyecharts.charts import *from pyecharts import options as opts from pyecharts.globals import ThemeType  import osos.chdir(r'C:\Users\Administrator\Desktop')ID = ['海嘯****','尋找****道長','最好****18881','我可****假猴子ha','工商***精']values = [53,47,36,34,34]c = (        Pie(init_opts=opts.InitOpts(theme=ThemeType.CHALK))        .add("", zip(ID,values),radius=["40%", "70%"])        .set_global_opts(            title_opts=opts.TitleOpts(title="秘密微博評論者TOP5",subtitle="賣山楂啦prss",pos_top="2%",pos_left = 'center'),            toolbox_opts=opts.ToolboxOpts(            # 是否顯示該工具            is_show=True,            ))                .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}",font_size=18))        .render("資料視覺化.html")    )
3 秘密微博情感分析

這裡使用模型對每一條微博進行情感分析,分析其積極分值和消極分值

但有個問題是

秘密前段時間“改版了”,許多內容合併成一條釋出,這就會導致最終的模型訓練結果會有偏差,這裡我並沒有解決這個問題,所以結果可能具有不合理性。

進一步的判斷出每條微博的情感傾向。

資料視覺化

總的來說,最近秘密釋出的微博的情感傾向還是比較均衡的,差異並不大,正向情感略高於負向情感。

4 秘密微博釋出時間分析

由於忘記拿釋出時間的資料,所以這裡從頭在爬取一次,這次只要釋出是時間

拿到的資料如下

這裡的時間資料是中國標準時間,需要進行轉換

import pandas as pdimport numpy as npdf = pd.read_excel('C:\\Users\\Administrator\\Desktop\\釋出時間.xlsx')def trans_format(time_string, from_format='%a %b %d %H:%M:%S +0800 %Y', to_format='%Y-%m-%d %H:%M:%S'):    """    @note 時間格式轉化    :param time_string:    :param from_format:    :param to_format:    :return:    """    time_struct = time.strptime(time_string,from_format)    times = time.strftime(to_format, time_struct)    return timesif __name__ == "__main__":    df["處理後的時間"] = df['時間'].apply(trans_format)

轉換後的資料如下:

利用python 將時分秒變成小數

因為時間就是至1之間的小數,0是一天的開始,1就是1天了,所以時間是至1之間的小數,也就是中午12點是0.5。

比如這裡

最終處理結果

接下來開始分箱

bins = pd.read_csv(r"處理後的資料.csv")binsdef cut_bins(x):    if  0.083333<= x <0.250000:        return '02:00:00--06:00:00'    elif 0.250000 <=x <0.458333:        return '06:00:00--11:00:00'    elif 0.458333 <=x <0.541667:        return '11:00:00--13:00:00'    elif 0.541667 <=x <0.708333:        return '13:00:00--17:00:00'    elif 0.708333 <=x <0.791667:        return '17:00:00--19:00:00'    elif 0.791667 <=x <0.916667:        return '19:00:00--22:00:00'    else:        return '22:00:00--02:00:00'bins['所在時間段'] = bins['將時分秒改成常規'].map(cut_bins)bins

統計

bins['所在時間段'].value_counts()1

資料視覺化

可以看到,秘密經常會在 22:00:00 – 02:00:00 這個時間段釋出微博,其次是下午13:00:00–17:00:00

至此,所有分析結束。

10
最新評論
  • 3本作者大大最好的一本小說,劇情讓人拍手叫好,連看三遍也不膩
  • 只有合餐宴席才是“傳統”?分餐制在商周秦漢就已經開始流行了