把之前做过的校园新闻小项目拆开来,简单分析每个部分的功能,希望能给感兴趣的童鞋一些借鉴和启发。纯手工打造,尊重原创,转载必究!
上一篇博客已经谈到项目里服务器程序如何爬取新闻网上的内容,把与新闻相关的文本内容存储为文件,与新闻相关的图片上传到图片服务器。在文件处理阶段,我需要的是将新闻按时间分类保存到数据库,并且提取指定时段的关键词存储为文件,为客户端推送经过分类的新闻,并且在有了关键词之后可以为给客户端用户推荐感兴趣的新闻做准备。
这个部分的结构比较简单,主要是文件读写操作和关键词提取。关于文件读写值得一提的是,由于新闻需要按时间分类,所以为了加速找到指定时间的新闻,建立了一层索引文件记录每条新闻的位置,这就得事先定义好爬虫后文件存储格式的协议,索引文件内的格式(一般是(i,j)格式,i代表文件名,j代表数据在这个文件里的偏移量)。下面主要聊关键词的提取,给大家分享一下使用复旦开源项目 fnlp 的心得。
获取关键词的大体思路是:将新闻内容(字符串)分词,去掉停用词,对剩下的词做统计,选择其中出现频率最多的20个词作为关键词,存储到文件里。
fnlp的环境配置这里就不多说了,可以参考他们在github的官方教程,考虑到都是些基础操作,这里直接上代码。
/**
* 统计指定日期所有新闻出现排名前20的热词&