资讯专栏INFORMATION COLUMN

2018微博词云项目深度解析

TANKING / 2075人阅读

摘要:最初产生这个项目的想法应该是在年月份,当时正在学习中,就萌生了这样一个想法从一个用户这一年发布的微博数据中,提取最有意义的个关键词。这些东西提交完就可以提交审核了,微博应用审核的速度还算比较快的,一两天基本差不多会审核完。

最初产生这个项目的想法应该是在2018年10月份,当时正在学习python中,就萌生了这样一个想法:从一个用户这一年发布的微博数据中,提取最有意义的top50个关键词。很明显涉及到了数据采集和自然语言处理的一些知识。
前期准备:

需要到微博开发平台认证开发者;

在微博开发平台创建应用;

域名1个,服务器1台;

微博应用创建和审核

创建应用的目的就是你的网站可以接入微博,使用微博登录授权,调用微博开放的一些api;质量高,用户多的应用还会被推荐到微博应用广场等等。

创建应用需要我们填写一些信息,应用名称,描述之类的。把准备好的文案直接粘贴进去就可以;需要不同规格的应用图标和三张以上应用介绍的宣传图。这个里面有一个关键点就是应用地址,需要提供一个可访问到的,并且包含微博组件的一个地址。这些东西提交完就可以提交审核了,微博应用审核的速度还算比较快的,一两天基本差不多会审核完。

等应用审核完,你就可以拿着appkey和appsecret继续往下开发了。

微博数据采集

因为微博开放的api接口里并不提供用户微博数据,所以才使用了数据采集的方案。第一个版本的工具是用nodejs写的,后来换成了python的版本。

提取关键词

这里还是使用python进行处理:

预处理(去掉微博里的表情、标签等);

分词(将整句分割为词汇);

加载词库(包括通用词库和用户自定义词库);

去停用词(去除一些无意义的词汇);

计算TFIDF,按权重排序;

取前50个词生成词云图片。

串联项目

项目的基础架构使用nodejs搭建,整个应用的路由访问控制,视图渲染,异常处理, 日志收集,进程管理,都是使用nodejs来完成。

大致流程:

用户访问应用;

引导用户到微博授权页;

授权成功后,后台拿到uid,开启一个新的子进程进行微博词云图片的生成;

这个时候给用户返回一个grant页面(此时微博词云的进程可能还没结束);

用户点击到下一个页面,如果图片已经生成了,就展示该展示的数据,如果还没有,就给用户等待的处理。

对,基本流程差不多就这些,比较简单。下面看下最终的效果。

重要的知识点

在nodejs中调用python脚本,大致思路就是生成一个shell命令,然后nodejs开启一个子进程,在子进程中执行这个shell即可。

h5页面,长按保存成图片,这里的大致思路如下:

我们将html转为canvas,然后取出canvas数据放入一个img标签里。将这个img放到页面最顶层,并且将不透明度设为0就可以了。然后在微信、微博等app里面,长按就可以保存到手机了,具体实现代码请看下图。

总结

更多的是一些交互上的细化处理,让用户有更好的操作体验,和视觉上的冲击。这个应用视觉冲击倒是没有多少,哈哈。

最后,欢迎大家一起交流。

项目地址:http://yk.mcust.cn/wb

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42920.html

相关文章

  • 首次公开,整理12年积累的博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0
  • 「码个蛋」2017年200篇精选干货集合

    摘要:让你收获满满码个蛋从年月日推送第篇文章一年过去了已累积推文近篇文章,本文为年度精选,共计篇,按照类别整理便于读者主题阅读。本篇文章是今年的最后一篇技术文章,为了让大家在家也能好好学习,特此花了几个小时整理了这些文章。 showImg(https://segmentfault.com/img/remote/1460000013241596); 让你收获满满! 码个蛋从2017年02月20...

    wangtdgoodluck 评论0 收藏0
  • 用python玩微信(聊天机器人,好友信息统计)

    摘要:用实现微信好友性别及位置信息统计这里使用的库开发。使用图灵机器人自动与指定好友聊天让室友帮忙测试发现发送表情发送文字还能回应,但是发送图片可能不会回复,猜应该是我们申请的图灵机器人是最初级的没有加图片识别功能。 1.用 Python 实现微信好友性别及位置信息统计 这里使用的python3+wxpy库+Anaconda(Spyder)开发。如果你想对wxpy有更深的了解请查看:wxpy...

    Youngs 评论0 收藏0
  • 2018.11.19秋招末第二波前端实习/校招小结

    摘要:背景个人背景就读于东北某普通二本院校计算机软件工程专业,现大四,北京实习前端方向,自学,技术栈时间背景大概是在月日准备好简历开始投递秋招差不多已经结束招聘岗位不多,投递对象为大一些的互联网公司事件背景第一个入职的是好未来的前端实习岗,待遇工 背景 个人背景 就读于东北某普通二本院校计算机软件工程专业,现大四,北京实习 前端方向,自学,vue技术栈 时间背景 大概是在11月9日准备...

    suxier 评论0 收藏0

发表评论

0条评论

TANKING

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<