通过关键词采集文章采集api(最初关键点就是就是应用地址的应用介绍及应用流程)
优采云 发布时间: 2022-04-06 03:27通过关键词采集文章采集api(最初关键点就是就是应用地址的应用介绍及应用流程)
这个项目最初的想法应该是在2018年10月,当时我正在学习python,想法就出来了:从今年一位用户发布的微博数据中提取最有意义的前50名关键词。显然涉及到一些数据采集和自然语言处理的知识。前期准备:需要去微博开发平台认证开发者;在微博开发平台上搭建应用;1个域名,1个服务器;微博申请建立与审核
建立应用的目的是让你的网站可以访问微博,使用微博登录和授权,调用微博开放的一些API;质量高、用户多的应用也会被推荐到微博应用广场等。html
创建应用需要我们填写一些信息,应用名称,描述等。您可以将准备好的副本直接粘贴到其中;您需要不同规格的应用程序图标和三个或更多的应用程序介绍的宣传图片。这其中的一个关键点是应用程序地址,它需要提供一个收录微博组件的可访问地址。这些东西提交后,就可以提交审核了。微博申请审核的速度比较快,很少能在一两天内完成。节点
申请审核通过后,可以继续使用a*敏*感*词*ey和appsecret进行开发。Python
微博数据采集
由于微博开放的api接口不提供用户微博数据,所以采用data采集方案。该工具的第一个版本是用 nodejs 编写的,后来改为 python 版本。贝壳
提取关键词
这里还在用python处理:canvas
预处理(去除微博中的表情、标签等);分词(将整个句子分成单词);加载词库(包括通用词库和自定义词库);删除停用词(删除一些无意义的词)词汇);计算 TFIDF 并按重量排序;取前50个词生成词云图片。串联项目
项目的基础设施是用nodejs搭建的,整个应用的路由访问控制、视图渲染、异常处理、日志采集、进程管理都是用nodejs完成的。api
大体流程:用户访问应用;引导用户进入微博授权页面;授权成功后,后台获取uid并启动新的子流程生成微博词云图;此时,向用户返回一个授权页面(此时微博词云的过程可能还没有结束);用户点击下一页,如果图片已经生成,则显示显示的数据,如果没有,用户等待处理。
是的,基本流程很少,只有这些,比较简单。看看下面的最终效果。服务器
重要知识点
我们把html转成canvas,然后把canvas数据取出来放到一个img标签里。把这个img放在页面最上方,设置不透明度为0,然后在微信、微博等app中,长按可以保存到手机上。具体实现代码见下图。微信
总结
更多的是一些交互的细化,让用户有更好的操作体验和视觉冲击。这个应用的视觉冲击力不大,哈哈。建筑学
最后,欢迎大家互相交流。应用程序
项目地址: