大数据分析:某日头条搜索java的分词报告

来源:互联网 发布:类似facebook的软件 编辑:程序博客网 时间:2024/05/22 15:40

前言:之前做了好多爬虫例子,就是为了获取大量数据,然后,就没有然后了,说好的数据挖掘了?

这里写图片描述

思路:
使用爬虫爬取某日头条所有关于java的文章资料文本信息
对文本进行分词处理,计算词频
使echarts作可视化报告

结果:
144篇头条文章文本
共计65405个字符
排名前20的高频词汇:
1—:java_3804
2—:开发_1808
3—:我们_1317
4—:学习_1076
5—:可以_983
6—:技术_942
7—:架构_880
8—:使用_797
9—:li&gt_781
10—:数据_765
11—:服务_760
12—:框架_724
13—:实现_710
14—:p3.pstatp.com_700
15—:自己_700
16—:代码_677
17—:调用_656
18—:设计_611
19—:公司_604
20—:需要_590

【开发】一词出现了1808次,词频为2.76%,高居榜首。

java广泛应用于各大领域,从互联网电子商务到金融行业的服务器应用程序,从安卓系统上的APP到企事业单位的OA系统,从大数据到桌面应用程序等等,举不胜举。

java和java开发工程师现状
1、互联网电商和Web应用程序

java在互联网电商和Web应用程序上是当之无愧的编程语言老大。通过Spring MVC、Struts 2.0和类似框架,可以创建大量的Rest full服务,亚马逊、淘宝、京东等大型电商品牌都在使用java来处理庞大的线上交易数据。

2、金融行业的服务器应用程序

很多全球性的金融机构如花旗银行、高盛等都是使用java来编写前端和后端的电子交易系统、结算和确认系统、数据处理系统及服务器端应用程序。

3、安卓APP

在公交,在地铁,在饭桌,你最常做的事是什么?一定是低头玩手机,如果你用的是安卓手机,几乎每个看到的APP都是用java语言来开发的,现在的很多安卓开发人员,其实就是java开发工程师。

4、大数据

随着信息技术发展,大数据已深入到各行各业,很多大数据处理技术都需要用到java,这方面的java人才需求也是巨大的。

5、科学应用

Java在科学应用中是最好选择,包括自然语言处理,最主要的原因是因为java相对C++或者其他语言的安全性、便携性、可维护性以及其他高级语言的并发性更好。

男女词汇比例为113:5
这里写图片描述

代码:

/**      * 提取关键字方法      * @param article      * @param a      * @param n      * @return      * @throws IOException      */    public static _words getKeyWords(String article,Integer a,Integer n) throws IOException {         _words _ws = new _words();        _word _w = extract(article,a); //调用提取单词方法         List<String> keyWordsList= _w.getKeyword();        Map<String, Integer> map=list2Map(keyWordsList); //list转map并计次数         //使用Collections的比较方法进行对map中value的排序         ArrayList<Entry<String, Integer>> list = new ArrayList<Entry<String,Integer>>(map.entrySet());         Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {             public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {                 return (o2.getValue() - o1.getValue());             }         });         if (list.size()<n) n=list.size(); //排序后的长度,以免获得到null的字符         String[] keyWords=new String[n]; //设置将要输出的关键字数组空间         for(int i=0; i< list.size(); i++) { //循环排序后的数组             if (i<n) { //判断个数                 keyWords[i]=list.get(i).getKey()+"_"+list.get(i).getValue(); //设置关键字进入数组            }         }         _ws.setKeyword(keyWords);        _ws.setWordNum(_w.getWordNum());        return _ws;     } 
/**     * 查找某个单词在段落中出现次数的方法     * @param str        * @return     */    public static int serachWord(String str,String key) {        //记录查找次数        int count = 0;        //记录每次查找的下标位置,初始化        int index = 0;        //定义循环,如果index的位置不是-1,就一值查找        while((index = str.indexOf(key,index))!=-1){            //每循环一次就要明确下一次查找的位置            index = index+key.length();            //每查找一次计数器自增            count ++;        }        return count;    }

完整源码下载,请加QQ490647751。

原创粉丝点击