不到三年工作经验的大专生找工作都需要什么技术(python制作词云图)
目录
一、前言
今年因为疫情的原因,好多公司都不在招人了, 而很快就到今年的大学生毕业季了,可能有的同学对找工作比较迷茫,所以在下爬了几个招聘网站,获取了所有要求学历为大专,工作经验为1-3年的公司的招聘需求,看看他们都要什么技能。
希望能帮助同学们,为了更直观的看到各大公司的要求,我做成了词云图的样式,出现频率最多的技术字号越大,这篇文章我就讲一下如何做词云图(如果有需要前面爬网站需求的代码的请看我另一篇博客)
二、编码
1)、使用的环境及模块
python3.0
wordcloud:可以将词语用图片表达出来,制作词云图的重要模块
cv2: 图片处理模块 (安装方式:pip install opencv-python)
jieba :结巴中文分词模块
2)、注意事项
1、注意图片路径
使用wordcloud制作的词云图一般是长方形的,我们也可以使用一张背景为白色的图片改变词云图的形状但是要注意图片的路径不能出现中文
2、制作好的词云图模糊怎么处理
制作出的词云图可能出现模糊的情况这时只要设置好词云图的分辨率就不会模糊了,具体方式请看代码
3)、思路
首先爬取招聘网站的招聘要求存到txt中,
然后使用jieba模块分词,去掉文件中无意义的词汇还可以自定义词汇字典使拆分的结果更符合我们的要求
最后使用wordcloud制作词云图
另外我们也可以改变词云图的样式
4)、代码
# coding:utf-8
from wordcloud import WordCloud, STOPWORDS
import cv2
import jieba
#打开存放招聘要求的txt
with open('sources.txt','r',encoding='utf-8') as f:
text=f.read()
#由于一些专业词汇jieba不能准确的区分,所以我使用了自定义的词典
#载入自定义词典
jieba.load_userdict("mydict")
#载入停用词表
stopwords={}.fromkeys([line.rstrip() for line in open('stopdict.txt','r',encoding='utf-8')])
#使用jieba分词
cut_text= jieba.cut(text,cut_all=False)
print(cut_text)
#去掉文本中的停用词
text=''
for t in cut_text:
# t=t.encode('utf-8')
#print(t)
if t not in stopwords:
text +=' ' + t
print(text)
#词云图的图片模板
#注意图片的路径和图片的名字不要出现中文
color_mask=cv2.imread(r'iii.png')
#设置词云图
cloud=WordCloud(
#设置分辨率,数字越大,图片的分辨率越大,
# 如果不设置你的词云图可能会模糊
scale=10,
#设置字体,可以是你电脑上的任意一种字体,只要你喜欢
#你电脑上的字体的路径一般在C:\Windows\Fonts 下
font_path="C:\Windows\Fonts\simfang.ttf",
#背景颜色
background_color='white',
#词云形状
mask=color_mask,
#最大号字体
max_font_size=20
)
wCloud=cloud.generate(text)
wCloud.to_file(r'D:\pythonProject\词云图\cloud.jpg')
#打开词云图
import matplotlib.pyplot as plt
plt.imshow(wCloud,interpolation='bilinear')
plt.axis('off')
plt.show()
5、运行结果
这是我最后的词云图是一个心形的,可能不太美观,因为这个心形是我手画的
三、最后
可以看到其实主要的技术就是 java基础,框架,数据库,等