在学习NodeJs之前,你可能需要学习JavaScript,最好也了解一下es6。
我们这篇文章是针对今日头条(以下称头条)的热搜榜数据的分析,形成一种标签云,重点是如何获取热搜榜的数据。
此篇文章只是分享学习过程,切勿利用此方法进行违法行为!
先了解下NodeJs
Node.js是一个JavaScript运行时环境(可以解析和执行JavaScript代码),它让javascript可以开发后端程序,Nodejs是基于V8引擎,V8是Google发布的开源JavaScript引擎,本身就是用于Chrome浏览器的js解释部分,但是Ryan Dahl 这哥们,鬼才般的,把这个V8搬到了服务器上,用于做服务器的软件。只要你懂js基础就可以学会Nodejs后端开发。
Nodejs 环境搭建
关于NodeJs环境搭建这里想必也不用多说,网上教程很多,如果你在看这篇文章的同时有具体问题的话可以私信我,这里不做多的说明。
我们直奔主题,我们先分析一下头条的热搜榜:
如何找到头条的热搜榜
1.打开头条的搜索,搜索【热搜】点击查看更多,进入的页面就是头条的热搜榜页面,当然还有其它的方式,毕竟头条的理念就是千人千面,你我看到的东西肯定是不一样的,大部分用户里面搜索都是可以进入热搜榜的。
2.进入热搜榜之后,我们只能看到数据,要对数据和页面进行分析,最好的办法就是将页面分享到电脑端,利用浏览器可以分析整个页面的数据。
3.好了,我这里已经找到了热搜榜的地址,由于地址较长,放到内容页面影响版式,我放到了文章结尾的扩展地址里,需要的点击扩展地址,进入之后选择复制地址。
页面分析
通过浏览器的network功能,我们很方便的就会看到,在这个页面获取热搜词的时候,调用了一个接口,那么我们获取热搜词的时候也可以调用,这里不方便将接口直接放出来,有需要的可以进入热搜榜提取接口地址。
数据提取
我们知道获取数据的接口,那么提取数据也就肯方便了,Nodejs支持npm安装大量的插件有助于开发,我们这里会用到request,等工具
首先我们获取热搜词
安装request 包
npm install --save request
我们通过分析发现获取热词的API是通过get请求的,那么我们用get请求的方式获取
var request = require('request');
request('热搜API地址', function (error, response, body)
{
if (!error && response.statusCode == 200) {
// do something
}
})
复制代码
我们请求后会拿到这样的数据
至此,数据的获取已经完成了,接下来我们要去怎么处理数据呢
数据的处理
我们读到的热词数据总共有60多条,60条数据生成的云图太单调了,那么我这边记录了近3天来的数据,总共是264条数据。我们将这264条数据放到云图中会是怎么样的呢?
我这里选用的是美寄词云在线生成的云图,需要将各个词用空格分割,那么我这里就需要将数据转换成以上的这种格式。
最终结果请看下图
更多精彩内容,请关注【科技男】头条号