实现获取cnode社区自定义api

cnodejs社区是国内火热的nodejs交流和学习的地方,作为新生级菜鸟,经常上社区浏览精华版帖子。cnodejs提供社区的api,但是个人想自定义一个获取全部帖子相关信息的api,马上就着手coding。

  • 代码详细信息如下:
const request=require('request');
const cheerio=require('cheerio');
const fs=require('fs');
const path=require('path');
const express=require('express');
const app=express();
const url="https://cnodejs.org/?tab=all&page=";
const pagesNum=5;
let allContents=new Array();
for(let i=1;i<=pagesNum;i++){
    request(url+i,(error,response,body)=>{
        if(error && response.statusCode==200){
            console.log(error);
        }
        accepteData(body);
    });
}

function translate($,strings){
        let Obj=$(strings).toArray();
        return Obj; 
}

function accepteData(data){
    let $=cheerio.load(data);
    let user=translate($,'.user_avatar img');
    for(let i=0;i{
    res.json(allContents);
});
app.listen(3000,()=>{
    console.log('listening at 3000');
});
  • 复制上述代码并保存在本地的文件中,(前提是已经安装nodejs并且已经安装了上述源码中的依赖文件);可以使用以下命令安装依赖文件:
npm install express cheerio request  --save --dev
  • 等待安装成功之后,在源码的当前目录,运行命令:
node test.js #(按照你自己保存的文件名来运行)
  • 然后在浏览器地址栏输入http://localhost:3000/api/all;可以获取到API如下图所示:
实现获取cnode社区自定义api_第1张图片
获取到json格式api
  • 获取cnode社区自定义api已经成功了。

你可能感兴趣的:(实现获取cnode社区自定义api)