用新浪微博API積累了微博廣場的1.4萬條數據,我選擇了21個字段輸出爲TXT文件,想用Python稍微處理一下,統計一下這1.4萬條微博裏面表情使用情況,統計結構在最後。
無聊的時候用了下新浪JAVA版的API,對JAVA還不熟悉,但是稍微改一下還是沒問題的,數據保存爲TXT文件,再用Python處理,JAVA部分很簡單,Python部分只涉及到表情的正則提取,都不好意思寫出來了。
1、調用新浪JAVA API下載微博廣場數據
步驟思路:
初始化API的Weibo類,設置Token後,設置下載間隔,然後重複調用getPublicTimeline()函數就可以了,下面是主要類的代碼:
這個不是完整的代碼,沒有初始化暫停間隔,可以掠過,很簡單。
2、數據格式:
要取得數據就是微博內容,先練一下手玩玩。
3、Python處理數據
目標:查看微博用戶表情使用情況,暫時只分性別,如果積累了合適的數據後可以分析各個時間段人們愛用哪種表情。
步驟:
$ 讀取TXT文件,遞歸處理每一行
$ 單獨提取出微博字段,正則提取表情字段,同時把性別提取出來,放到一個dict裏面,dict的格式是:表情/女性使用頻率/男性使用頻率,遞歸處理,累積頻率
$ 把結果寫入到文件
注意:Python正則提取中文部分,先解碼成unicode編碼,再正則提取,表情的標誌是[],雖有誤差,但無大礙。
代碼:
__collection函數是處理函數,返回處理結果(dict)
腳本運行結果:
把結果放到EXCEL裏面重新排序,得到如下結果: