python爬取春节祝福语,并生成心形词云

1,895 阅读2分钟

前言

PK创意闹新春,我正在参加「春节创意投稿大赛」,详情请看:春节创意投稿大赛”,

昨天看到了掘金的春节征文活动,最近刚好在看爬虫,就爬取一下春节祝福语,生成个词云玩一玩,大家有兴趣可以试试,会奉上源代码,很简单。效果图如下

图片.png

环境

  1. 环境:windows,

  2. 语言:python,python版本是3.7

  3. 所依赖的第三方包:

    selenium----爬取网站,收集祝福语,这个库做UI自动化测试的估计会比较常见,我这里没采用使用requests库去爬取,用这个库的好处是爬取的过程中页面是实时可见的

    wordcloud---用来生成词云

    PIL---使词云生成想要的轮廓, 这里注意python3.7安装的时候应该使用pip install pillow

    numpy---生成那种有轮廓的词云,还需要安装这个包,这个包将给出形状的图片表示为一个大型矩阵

    jieba---词云生成的词默认是英文,因我们爬取的祝福语是中文,需要用这个库能识别中文,防止中文乱码

以上有兴趣,可以自行这些库加深了解

思路

(1)我爬取百度,搜索到关于春节祝福语,然后把这些祝福语存放到一个文件中。详细如下:

这里用到了selenium的webdriver, 使用的浏览器是firefox, 创建了一个firefox浏览器对象,然后firefox打开百度,定位到百度输入框,输入搜索词--新春祝福2022,浏览器页面显示如下

图片.png

在这个页面,我模拟人工点击这第一个搜索出来的结果,跳到其他网址页面,如图

图片.png

把这个页面的所有祝福语获取到,存到wishes.txt文件中

(2)然后用生成词云的相关库,来解析这个文件,生成词云 这里注意一点的是,生成词云使用的中文字体, font_path使用的是windows的字体库,这里你可以换成其他的字体

word_cloud = WordCloud(mask=mask, font_path='C:\Windows\Fonts\STXINGKA.TTF').generate(text)

windows 字体库

图片.png

源代码

carbon(1).png

可以修改背景颜色和字题颜色,例如


word_cloud = WordCloud(mask=mask, background_color='white',  contour_color='red', colormap='brg',
                       max_words=600,
                       font_path='C:\Windows\Fonts\STXINGKA.TTF').generate(text)

重新运行之后,如图

tmptwnkl8hx(1).png

支持的colormap字体颜色集,可参考以下链接 matplotlib.org/2.0.2/examp…

图片.png