用 Python 爬取 2018 前端热点
下午无聊在刷公众号,突然发现一篇文章「前端一年精选好文,请打包带走」。在这个跨年的日子里,我本来应该开着电视,看着跨年晚会。
一、起因
反复琢磨,我还是很好奇:这一年,前端精选好文都有哪些?
翻了一下,有 130 多篇文章。
我又退缩了,看完猴年马月了,还是先收藏吧。于是关掉手机,准备放飞自我。突然,脑子里一闪,打包,带走?嗯,我有了一个大胆的想法。
二、想法
既然一时半会儿看不完,何不看一下趋势,把握一下今年前端界的热点。
说到热点,还有什么比热词分析更直接的了。对,我要生成词云。
大体思路如下:
1.首先,要拿到文章中的关键词,需要使用爬虫;
2.为了不那么枯燥,我决定采用图片蒙版来做背景;
3.统计关键词出现的频率,进行分词;
4.过滤掉干扰词汇;
5.生成图片;
热词集合的图片就是我最终的目标。
三、使用爬虫
1.没什么好选择的,直接使用 Python
插件 BeautifulSoup
,我们先拿到 Dom
元素:
1 | #!/usr/bin/env python |
为了确定内容是否都抓到了,我们先进行打印:
看到这些,基本上我们需要的内容已经就绪了,继续下一步。
四、生成图片
1.使用 Photoshop
,制作一个 F2E
字样的蒙版文件,如下图:
2.使用 Python
插件 jieba
进行分词:
1 | def jieba_processing_txt(text): |
分词后,我们打印 mywordlist
:
整齐的数组,没有半点瑕疵。确定过眼神,是我要的数组。
3.使用 woldcloud
来生成词云图片:
1 | wc = WordCloud(font_path=font_path, background_color="white", max_words=2000 mask=back_coloring,max_font_size=60, random_state=42, width=1000, height=860, margin=2,) |
4.为了去除干扰,我们还需要过滤掉无用的关键词,如:发布,整理,功能,介绍,已经,使用,可以,电脑等等
1 | userdict_list = ['我们', '什么', '发布', '整理', '功能', |
这里不得不吐槽一下,乱起八糟的广告真的很多,感觉自己在抓 2018 年的广告热词。
到这里就结束了,感兴趣的童鞋可以看看 Demo
五、打包带走
嗯,运行程序,我们最终得到了一张图片:
大体一看,2018 年,前端还是那些老样子,不过我们可以了解到一些特点:
1.JavaScript
的文章还是很多;
2.React
和 Vue
仍然是主流;
3.Flutter
出现的晚,但是上升趋势不容小觑;
4.Nodejs
,Electron
还是很受前端欢迎;
5.TypeScript
和 GraphQL
仍然有不少的讨论;
6.优化、构建、开源、线路图仍然是前端的关注点;
7.全栈仍是前端的追逐目标;
…
任务完成,收工。这里还是得特别感谢前端之巅小编辛苦的整理。这些前端精选资源,我真的打包带走了。