每到了年终岁尾,总会有一大波各式各样的年终总结冒出来。梦境在很大程度上是对现实生活的反映,这占据我们生命三分之一时间的睡眠中的思想活动,总结起来也是蛮有趣味的。
在过去的2017年,我坚持用APP记录自己的梦境,通过使用 Chrome 浏览器的 Web Scraper 插件对所记录的梦境的数据抓取加上一些数据统计和词频分析,最终搞出了这么一份年度总结。虽然所涉及的奇妙梦境这款 APP 实属小众,不过其中数据爬取的过程,也是对 Web Scraper 这款零代码爬虫插件的一次典型应用了。鉴于其中涉及到的对链接所指向的二级界面爬取等功能在国内少有资料介绍,所以便来写篇教程介绍一下吧。学会了它,你便可以自由地去爬取自己想要的数据了。
首先,先来展示一下最终的成果:
所需应用:奇妙梦境 APP、微博官方版APP或收趣网页版、电脑Chrome 及插件 web scraper、Excel 及在线词频统计工具(这是用来做数据分析的,不属于本文的侧重点)
要想实现对所有梦境内容的快速爬取,首先便要获取全部的梦境的链接,这里有点麻烦,因为需要调用奇妙梦境APP的分享功能,把梦境一个一个地分享出来。奇妙梦境APP提供了微信好友、朋友圈、微博、QQ四种分享方式。由于朋友圈和 QQ 没有网页版,微信的网页版在重新进入时又无法保留原有的聊天内容,所以我是将梦境分享给收趣的微信号:收趣小秘书,来实现梦境将梦境同步到 Chrome 浏览器中。(此处简单介绍一下收趣,这是可以说是一款对国内网页支持得最好,功能最完备的稍后阅读应用了,不过一次次改版之后越来越臃肿还有大量的商业广告作为它的早期用户如今却真的是再也不爱了)当然,使用微博来进行分享也是可行的。这里提醒一下,不管是哪种方式,所使用的账号最好原本没有发布太多内容。像我这种原本收趣中就有几百条书签,爬取梦境数据时还要把这么多书签再爬一遍,想想都觉得好累......
接下来,在 Chrome 浏览器中打开梦境链接,你可以发现,这里的梦境的文字介绍是不能复制的。不过这并不能难倒我们的爬虫!右键选择检查,打开开发者工具,选择默认的第一个标签“Element”,一串串代码看着很晕吗?看不懂也没有关系,我们要做的只是点击左侧的三角,将一串串代码展开,我们便可以发现梦境的文字段落,这表明,抓取梦境文字是可行的。
鉴于段落中间夹杂着各种的标签和代码,直接复制粘贴是一件很麻烦的事情。接下来,便要用到爬虫插件 Web Scraper 了。关于插件的下载,最佳途径自然是 Chrome 的商店了,请自备梯子。下载安装之后,你便能在开发者工具中找到 Web Scraper 标签啦。
选择“Create new sitemap”菜单下的“Create Sitemap”。
由于收趣使用的是滚动下拉加载方式,为了爬取所有的元素,我们要首先进行如下设置。
这次要做的是对梦境链接的爬取。
接下来便是对梦境信息的抓取了,在网页中点击链接打开任意梦境,右键选择“检查”再次进入开发者工具,打开 Web Scraper,在“link”下一级建立新的“selector”,对于标题、时间等信息的抓取,和上面的方法类似,分布创建“selector”进行抓取即可,不同的是在“type”一项中只需选择“text”即可。
特别要注意的是对于梦境内容的抓取,由于元素的特殊性,我们无法直接在网页上选择元素,那么不妨自己输入吧,还记得前文提到的那部分的代码吗?把它输进去就好了。选择“content preview”,你会发现所有的内容部分都被选中了。
这里要注意“type”的选择,由于“幕”的存在,一条梦境中会存在多个内容元素,这里依旧可以继续用“text”,只不过,在最后导出的Excel文档中,一个梦境会被分割到多行中,给时间、标题等统计带来了麻烦(当然这在excel中也可以用删除重复项来解决)。在数据抓取过程中,这里也可以直接在“type”中选择“group”,点击“data preview”预览,你可以发现内容被整合到一个单元格中了。
至此,所有需要爬取的元素都已经设置完毕,接下来就是爬取和导出数据的过程了。
最后的数据处理便是一些Excel的知识了,比如数据的排序,分类汇总,图表的绘制,此文就不做过多的介绍了。字数统计可以使用 Word ,至于词频统计和词云图的制作,可以尝试一下图悦,虽然它做出的词云图是真的丑,不过很方便将词频导出到 Excel 进行下一步的分析哦。
这里再来安利一个工具 LIWC ,可以对文本进行情绪分析,不过由于免费版一次最多可以分析500个单词,而几万字的梦境拆分起来实在是痛苦,所有便没有进行这一步。另外补充一些,这个工具的免费版只支持对英文的分析,如果想要分析中文的话,要么去下载付费版,要么用翻译软件转化带英文吧。
LIWC 分析结果界面截图
网友评论