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 相关文章推荐
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
Aug 28 Javascript
写出更好的JavaScript程序之undefined篇(中)
Nov 23 Javascript
Js表格万条数据瞬间加载实现代码
Feb 20 Javascript
jQuery validate插件实现ajax验证重复的2种方法
Jan 22 Javascript
BootStrap Typeahead自动补全插件实例代码
Aug 10 Javascript
微信小程序 form组件详解及简单实例
Jan 10 Javascript
JS获取数组中出现次数最多及第二多元素的方法
Oct 27 Javascript
JavaScript实现百度搜索框效果
Mar 26 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
Aug 18 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
Apr 01 Javascript
Layui给switch添加响应事件的例子
Sep 03 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
Feb 15 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
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
Yii实现简单分页的方法
2016/04/29 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
js动态创建、删除表格示例代码
2013/08/07 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
2017/05/03 Javascript
jQuery+Ajax实现用户名重名实时检测
2017/06/01 jQuery
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
2017/12/11 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
Python坐标线性插值应用实现
2019/11/13 Python
Python assert关键字原理及实例解析
2019/12/13 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
CSS3制作文字半透明倒影效果的两种实现方式
2014/08/08 HTML / CSS
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
思想汇报范文
2013/11/04 职场文书
《小草和大树》教学反思
2014/02/16 职场文书
《爱如茉莉》教后反思
2014/04/12 职场文书
企业文明单位申报材料
2014/05/16 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
节水宣传标语口号
2015/12/26 职场文书
2016年五一国际劳动节活动总结
2016/04/06 职场文书
Redis集群的关闭与重启操作
2021/07/07 Redis
Python OpenCV之常用滤波器使用详解
2022/04/07 Python
Python各协议下socket黏包问题原理
2022/04/12 Python