最近想了解下程序员可以做什么副业,我抓取了各大网站关于程序员搞副业的文章,但抓取的文章较多,为了将相似的文章归拢到一起,我用聚类算法将文章划分到不同的主题。下面我就来介绍一下分析的结论以及过程。文末回复关键字即可获取本次分析源码。
本次分析的文章是从博客园、CSDN、知乎、今日头条和微信上抓取,共140篇,聚类得到的主题如下:
-
接私活:主要是在码市、程序员客栈等网站接项目做外包,对于接私活的评价大家褒贬不一,有的人决定接私活能够锻炼技术,但有的人觉得是重复劳动,可积累性差。我自己也接过私活,不建议程序员接私活,因为它相当于是工作时间的延伸,并没有给你带来其他的可能性
-
写作:反对接私活的一部分人就提出来走写作这条路,因为写作一来可以有深度的思考,二来也可以沉淀技术,最后通过输出的内容变现
-
小项目:这个相对于外包来说会好一些,原文作者举了个例子,通过网上爬取公开的个人信息和联系方式,包装成软件出售,获得了不菲的收入
-
公众号:通过公众号积累流量,接广告赚钱
-
投资学习:通过聚类分析发现有些文章的观点画风比较清奇,认为程序员最大的副业是投资自己。这也是一条很好的路子,不断地拓宽自己的知识广度、打穿知识深度,能够在主营业务上创造出独一无二的成果也是一种副业
当然还有一些的关于讨论程序员应不应该搞副业的主题也能聚在一起,这里就不举例了,有兴趣朋友可以看详细的分析数据。
下面来介绍下分析过程
数据抓取:需求比较明确,第一步找到文章搜索的入口,第二步找到文章详情的入口。实现方案有两种,第一种是请求接口;第二种是解析网页HTML代码。在本次分析中这两种方案都有涉及,其中微信公众号的数据抓取比较困难,我用的是开源的项目wechatsogou,这个项目直接用也是有各种问题,但我都解决了,需要注意的问题在源代码中都有说明。由于这次抓取的网站比较多,抓取这一步花费了60%的时间。数据清洗: