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 相关文章推荐
img的onload的另类用法
Jan 10 Javascript
asp.net中System.Timers.Timer的使用方法
Mar 20 Javascript
Js点击弹出下拉菜单效果实例
Aug 12 Javascript
让新消息在网页标题闪烁提示的jQuery代码
Nov 04 Javascript
js判断一个字符串是否包含一个子串的方法
Jan 26 Javascript
JS插件overlib用法实例详解
Dec 26 Javascript
果断收藏9个Javascript代码高亮脚本
Jan 06 Javascript
jQuery实现立体式数字滚动条增加效果
Dec 21 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
Aug 25 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
May 03 jQuery
Vue中通过属性绑定为元素绑定style行内样式的实例代码
Apr 30 Javascript
JavaScript WeakMap使用详解
Feb 05 Javascript
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
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
php db类库进行数据库操作
2009/03/19 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
php去除换行(回车换行)的三种方法
2014/03/26 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
js获取class的所有元素
2013/03/28 Javascript
json数据的列循环示例
2013/09/06 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
vue.js数据绑定操作详解
2018/04/23 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
Python shelve模块实现解析
2019/08/28 Python
Python写出新冠状病毒确诊人数地图的方法
2020/02/12 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
Python Opencv图像处理基本操作代码详解
2020/08/31 Python
Python self用法详解
2020/11/28 Python
大学生思想汇报范文
2013/12/31 职场文书
学习党章思想汇报
2014/01/07 职场文书
中级会计职业生涯规划范文
2014/01/16 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
房地产营销活动策划方案
2014/09/15 职场文书
反对四风问题自我剖析材料
2014/09/29 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
离婚协议书样本
2015/01/26 职场文书
Python turtle编写简单的球类小游戏
2022/03/31 Python
python微信智能AI机器人实现多种支付方式
2022/04/12 Python