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

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

这里写图片描述

思路:
使用爬虫爬取某日头条所有关于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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值