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 相关文章推荐
jquery 必填项判断表单是否为空的方法
Sep 14 Javascript
Javascript常考语句107条收集
Mar 09 Javascript
使用jquery解析XML示例代码
Sep 05 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
Sep 15 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
Oct 15 Javascript
实例讲解javascript注册事件处理函数
Jan 09 Javascript
字符串反转_JavaScript
Apr 28 Javascript
浅谈jQuery双事件多重加载的问题
Oct 05 Javascript
JavaScript结合HTML DOM实现联动菜单
Apr 05 Javascript
原生js封装运动框架的示例讲解
Oct 01 Javascript
vue 权限认证token的实现方法
Jul 17 Javascript
原生js实现针对Dom节点的CRUD操作示例
Aug 26 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初学者头疼问题总结
2006/07/08 PHP
新版PHP极大的增强功能和性能
2006/10/09 PHP
信用卡效验程序
2006/10/09 PHP
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
PHP 分页类(模仿google)-面试题目解答
2009/09/13 PHP
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
PHP命名空间(Namespace)简明教程
2014/06/11 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
详解php的socket通信
2015/08/11 PHP
浅析Yii2中GridView常见操作
2016/04/22 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
基于JQuery的密码强度验证代码
2010/03/01 Javascript
ASP.NET jQuery 实例8 (动态添加内容到DropDownList)
2012/02/03 Javascript
JavaScript中的稀疏数组与密集数组[译]
2012/09/17 Javascript
封装的jquery翻页滚动(示例代码)
2013/11/18 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
vue根据值给予不同class的实例
2018/09/29 Javascript
Python实现基于权重的随机数2种方法
2015/04/28 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
Python使用wxPython实现计算器
2018/01/30 Python
python简单商城购物车实例代码
2018/03/15 Python
python打开windows应用程序的实例
2019/06/28 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
利用Python小工具实现3秒钟将视频转换为音频
2019/10/29 Python
Keras自动下载的数据集/模型存放位置介绍
2020/06/19 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
HTML5+CSS3绘制锯齿状的矩形
2016/03/01 HTML / CSS
技术总监的工作职责
2013/11/13 职场文书
运动会加油稿30字
2015/07/21 职场文书
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis