zoukankan      html  css  js  c++  java
  • 用Python统计新浪微博各种表情使用频率

    用新浪微博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里面重新排序,得到如下结果:



  • 相关阅读:
    jvm 更多链接
    JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )
    python 排序
    python 第K个语法符号
    python conf.ini 文件的使用
    python 表示数字
    window 下安装redis
    python redis相关操作
    python 矩阵乘法
    python 查找两个字符串a,b中的最长公共子串
  • 原文地址:https://www.cnblogs.com/ainima/p/6331777.html
Copyright © 2011-2022 走看看