使用Nodejs获取博客园博客数据并处理转发
2018-06-24 01:13:14来源:未知 阅读 ()
通过查询了解到博客园是有开发博客查询相关的接口的,列表如下:
Uri | Method | Description |
---|---|---|
48HoursTopViewPosts/{itemCount} | GET | 48小时阅读排行 |
bloggers/recommend/{pageIndex}/{pageSize} | GET | 分页获取推荐博客列表 |
bloggers/recommend/count | GET | 获取推荐博客总数 |
bloggers/search | GET | 根据作者名搜索博主 |
post/{postId}/comments/{pageIndex}/{pageSize} | GET | 获取文章评论 |
post/body/{postId} | GET | 获取文章内容 |
sitehome/paged/{pageIndex}/{pageSize} | GET | 分页获取首页文章列表 |
sitehome/recent/{itemcount} | GET | 获取首页文章列表 |
TenDaysTopDiggPosts/{itemCount} | GET | 10天内推荐排行 |
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格式:
大功告成~
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 关于jQuery UI 使用心得及技巧 2020-03-29
- js中去掉字串左右空格 2020-03-20
- Js中如何使用sort() 2020-03-18
- 使用JS在浏览器中判断当前网络连接状态的几种方法 2020-03-12
- javascript如何获取图片颜色 2020-03-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash