分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

使用Nodejs获取博客园博客数据并处理转发

发布时间:2023-09-06 01:34责任编辑:董明明关键词:jsNode

通过查询了解到博客园是有开发博客查询相关的接口的,列表如下:

UriMethodDescription
48HoursTopViewPosts/{itemCount}GET48小时阅读排行
bloggers/recommend/{pageIndex}/{pageSize}GET分页获取推荐博客列表
bloggers/recommend/countGET获取推荐博客总数
bloggers/searchGET根据作者名搜索博主
post/{postId}/comments/{pageIndex}/{pageSize}GET获取文章评论
post/body/{postId}GET获取文章内容
sitehome/paged/{pageIndex}/{pageSize}GET分页获取首页文章列表
sitehome/recent/{itemcount}GET获取首页文章列表
TenDaysTopDiggPosts/{itemCount}GET10天内推荐排行
u/{blogapp}/posts/{pageIndex}/{pageSize}GET分页获取个人博客文章列表

 

但是我们打开其中一个接口的话会发现提供的接口返回的是xml格式的内容,因此如果需要后台转发为前台需要的格式还需要把xml转换为json数据:

 

那么我们一步一步来,首先需要Node将这个接口代理转发为自己的接口,其实只需要express的request中间件就可以了:

router.get(‘/api/getCNBlog‘, (req, res) => { ???let url = ‘http://wcf.open.cnblogs.com/blog/TenDaysTopDiggPosts/6‘; ???let data = {} ???request(url, (error, response, body) => { ???????????res.send(body) ???})})

  但是这个时候接口返回的仍是xml格式的数据。那么下一步,我们需要将xml进行转化,通过搜索了解到node是有xml2js这个插件的,因此只需要在我们的node文件里面引入,再将数据转化就可以了。更改后的简易代码如下:

const xml2js = require(‘xml2js‘);const parseString = xml2js.parseString;router.get(‘/api/getCNBlog‘, (req, res) => { ???let url = ‘http://wcf.open.cnblogs.com/blog/TenDaysTopDiggPosts/6‘; ???let data = {} ???request(url, (error, response, body) => { ???????parseString(body, (err, result) => { ???????????res.send({ ???????????????code: 200, ???????????????data: result ???????????}) ???????}); ???})})

  如此一来,就可以看到,后台发过来的数据已经转为了Json格式:

大功告成~

 

 

使用Nodejs获取博客园博客数据并处理转发

原文地址:https://www.cnblogs.com/cheerup/p/8206680.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved