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 相关文章推荐
javascript getElementsByClassName函数
Apr 01 Javascript
js的回调函数详解
Jan 05 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
Aug 24 Javascript
JS实现仿新浪黄色经典滑动门效果代码
Sep 27 Javascript
纯js实现瀑布流布局及ajax动态新增数据
Apr 07 Javascript
JavaScript兼容浏览器FF/IE技巧
Aug 14 Javascript
jQuery 常见小例汇总
Dec 14 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
Jun 09 jQuery
理理Vue细节(推荐)
Apr 16 Javascript
微信小程序激励式视频广告组件使用详解
Dec 06 Javascript
使用JS location实现搜索框历史记录功能
Dec 23 Javascript
vue项目多环境配置(.env)的实现
Jul 21 Vue.js
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之sprintf函数用法详解
2014/11/12 PHP
PHP实现无限级分类(不使用递归)
2015/10/22 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
2016/09/21 PHP
很多人都是用下面的js刷新站IP和PV
2008/09/05 Javascript
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
JS如何实现文本框随文本的长度而增长
2015/07/30 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
详解webpack分离css单独打包
2017/06/21 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
vue 子组件向父组件传值方法
2018/02/26 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
2019/04/14 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
简述 Python 的类和对象
2020/08/21 Python
名企HR怎样看待求职信
2014/02/23 职场文书
艺术节主持词
2014/04/02 职场文书
超市食品安全承诺书
2015/04/29 职场文书
2015暑假打工实践报告
2015/07/13 职场文书