近期在找工作,再不是盲目裸辞的年纪。作为一个病不起死不起的90's,现在各大招聘网站上扫一圈,确认下行情。
就在浏览招聘网站的时候,发现林林总总的信息太难筛选,有什么办法能帮着做一下整理呢。很顺利成长的想到了写一个爬虫。关于如何写一个爬虫程序,可以参考本人之前写过的
webmagic是个神奇的爬虫(一)--如何创建webmagic项目
webmagic是个神奇的爬虫(二)-- webmagic爬取流程细讲
webmagic是个神奇的爬虫【三】—— 使用selenium模拟登陆
这几篇文章。
这下好了,岗位信息总算是有了,但还是感觉看起来不够直观,也不够酷炫。又想到了之前一直听说过但是没用过的词云功能,这次正好探索一下。
说干就干,由于是基于java开发,百度一阵之后决定使用kumo词云依赖进行开发。
以下是pom依赖
<dependency>
<groupId>com.kennycason</groupId>
<artifactId>kumo-core</artifactId>
<version>1.22</version>
</dependency>
<dependency>
<groupId>com.kennycason</groupId>
<artifactId>kumo-tokenizers</artifactId>
<version>1.22</version>
</dependency>
再然后就是参考了官方的例子和网上前人的教程,简单写了一个词云生成的程序
import com.kennycason.kumo.CollisionMode;
import com.kennycason.kumo.WordCloud;
import com.kennycason.kumo.WordFrequency;
import com.kennycason.kumo.bg.CircleBackground;
import com.kennycason.kumo.font.KumoFont;
import com.kennycason.kumo.font.scale.LinearFontScalar;
import com.kennycason.kumo.nlp.FrequencyAnalyzer;
import com.kennycason.kumo.nlp.tokenizers.ChineseWordTokenizer;
import com.kennycason.kumo.palette.LinearGradientColorPalette;
import java.awt.*;
import java.io.IOException;
import java.util.List;
public class WordCloudTest {
public static void main(String[] args) throws IOException {
//建立词频分析器,设置词频,以及词语最短长度,此处的参数配置视情况而定即可
FrequencyAnalyzer frequencyAnalyzer = new FrequencyAnalyzer();
frequencyAnalyzer.setWordFrequenciesToReturn(600);
frequencyAnalyzer.setMinWordLength(2);
//引入中文解析器
frequencyAnalyzer.setWordTokenizer(new ChineseWordTokenizer());
final List<WordFrequency> wordFrequencies = frequencyAnalyzer.load("D:\\job.txt");
Dimension dimension = new Dimension(1920, 1080);
WordCloud wordCloud = new WordCloud(dimension, CollisionMode.RECTANGLE);
wordCloud.setPadding(0);
java.awt.Font font = new java.awt.Font("STSong-Light", 2, 40);
wordCloud.setBackgroundColor(new Color(255, 255, 255));
wordCloud.setKumoFont(new KumoFont(font));
// wordCloud.setBackground(new RectangleBackground(dimension));
wordCloud.setBackground(new CircleBackground(255));
// wordCloud.setBackground(new PixelBoundryBackground("D:\\lufei.jpg"));
wordCloud.setColorPalette(new LinearGradientColorPalette(Color.RED, Color.BLUE, Color.GREEN, 30, 30));
wordCloud.setFontScalar(new LinearFontScalar(10, 40));
wordCloud.build(wordFrequencies);
wordCloud.writeToFile("D:\\job.png");
}
}
由于刚刚接触,kumo的一些功能还没有具体研究,包括自定义背景图片等功能还有待探索。下面是词云生成的效果
喜欢的同学还请点个赞~