node爬取微博的数据的简单封装库nodeweibo使用指南


Posted in Javascript onJanuary 02, 2015

一、前言

就在去年12月份,有个想法是使用node爬取微博的数据,于是简单的封装了一个nodeweibo这个库。时隔一年,没有怎么维护,中途也就将函数形式改成了配置文件。以前做的一些其他的项目也下线了,为了是更加专注前端 & node.js。偶尔看到下载量一天超过60多,持续不断的有人在用这个库,但是看下载量很少也就没有更新。但是昨天,有人pull request这个分支了,提出一些中肯的建议和有用的代码。于是就认真回顾了下nodeweibo,发布了v2.0.3这个版本。

二、什么是nodeweibo

nodeweibo:对weibo的API进行简单封装,你可以在Node里使用函数的形式调用微博API。

github项目地址:https://github.com/vczero/node-weibo

我这里截一张markdown的部分截图,具体的大家可以到https://github.com/vczero/node-weibo去看。

node爬取微博的数据的简单封装库nodeweibo使用指南

安装:npm install nodeweibo

三、支持的API

支持的API:https://github.com/vczero/node-weibo/blob/master/doc/api.md

目前基本支持所有的weiboAPI,以下是部分截图;感谢George Mason University的xizhonghua添加这份md。

node爬取微博的数据的简单封装库nodeweibo使用指南

四、demo

var Weibo = require('../../nodeweibo');    // require('nodeweibo') also works if you have installed nodeweibo via npm

var setting = require('./setting.json');   // get setting (appKey, appSecret, etc.)

/*

+-------------------------------------------------

(1)注册账号:http://open.weibo.com/

(2)在./setting.json中配置您的开发账号。

(3)搞清楚微博的认证机制即oauth2.0认证原理。

(4)第3点很重要,确保你理解这种开放方式。

+-------------------------------------------------

*/

/*

    initialize weibo before using it

 */

Weibo.init(setting);
/*

+-------------------------------------------------

例1:开启微博认证

启动认证后,将在浏览器器打开一个窗口,url中含有code参数

注意:运行其中一个例子时,须注释掉另一个例子。

+-------------------------------------------------

*/

Weibo.authorize();
/*

+--------------------------------------------------

例2:需要获取access_token

(1)阅读微博开放平台API

   如:http://open.weibo.com/wiki/OAuth2/access_token,

   将必要的参数写进jsonParas对象。

(2)在回调中打印出获取的数据

(3)code是您浏览器窗口获得的code。

(4)注意:如运行本例子,请注释掉第1个例子,且code职能调用一次,

        会随着认证不断更新。一个用户一个access_token。

+---------------------------------------------------

*/

// var jsonParas = {

//     code:"the value of your browser's parameter code",

//     grant_type:"authorization_code"

// };

// Weibo.OAuth2.access_token(jsonParas,function(data){

//     console.log(data);

// });
/*

    example 3, get public timeline

 */

// // set parameters

// var para = {

//     "source": Weibo.appKey.appKey,

//     "access_token": 'your access_token here'

// };

// // get public timeline

// Weibo.Statuses.public_timeline(para, function(data){

//     console.log(data);

// });

五:总结

(1)当年发布一个package时,尽量将文档写全点,这样使用者就会更加方便;这是一种态度。

(2)既然有人使用这个package,就尽量花些时间维护这个package,今年年初,就有人问我如何使用的问题。

 (3)学习他人的代码是一种乐趣;体会别人工作的方法是对工作效率的提升。

Javascript 相关文章推荐
解决AJAX中跨域访问出现'没有权限'的错误
Aug 20 Javascript
JavaScript 验证码的实例代码(附效果图)
Mar 22 Javascript
ajax与302响应代码测试
Oct 23 Javascript
开启BootStrap学习之旅
May 04 Javascript
JS实现的二叉树算法完整实例
Apr 06 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
Oct 24 Javascript
JS控制鼠标拒绝点击某一按钮的实例
Dec 29 Javascript
vue模式history下在iis中配置流程
Apr 17 Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 Javascript
vue计算属性无法监听到数组内部变化的解决方案
Nov 06 Javascript
JS判断数组四种实现方法详解
Jun 29 Javascript
jquery实现点击左右按钮切换图片
Jan 27 jQuery
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
Jan 02 #Javascript
javascript制作的cookie封装及使用指南
Jan 02 #Javascript
分享一则javascript 调试技巧
Jan 02 #Javascript
javascript实现无限级select联动菜单
Jan 02 #Javascript
javascript实现表格排序 编辑 拖拽 缩放
Jan 02 #Javascript
原生javascript实现DIV拖拽并计算重复面积
Jan 02 #Javascript
javascript使用smipleChart实现简单图表
Jan 02 #Javascript
You might like
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
2013/07/05 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
php等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
奇妙的js
2007/09/24 Javascript
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
JS 表单验证大全
2011/11/23 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
初探nodeJS
2017/01/24 NodeJs
JSON与js对象序列化实例详解
2017/03/16 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
JS请求servlet功能示例
2017/06/01 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
2020/08/13 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
Python日期操作学习笔记
2008/10/07 Python
python高斯分布概率密度函数的使用详解
2019/07/10 Python
jupyter notebook 多环境conda kernel配置方式
2020/04/10 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
2020/06/29 Python
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
基层党建工作汇报材料
2014/08/15 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
机关作风建设工作总结
2014/10/23 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
2014年银行个人工作总结
2014/12/05 职场文书
质检员岗位职责
2015/02/03 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
导游词之千岛湖
2019/09/23 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
浅谈golang 中time.After释放的问题
2021/05/05 Golang
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js