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 相关文章推荐
IE7中javascript操作CheckBox的checked=true不打勾的解决方法
Dec 07 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
Apr 01 Javascript
Js 导出table内容到Excel的简单实例
Nov 19 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
May 29 Javascript
jquery实现焦点轮播效果
Feb 23 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
Jul 12 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
Oct 26 Javascript
快速解决vue-cli在ie9+中无效的问题
Sep 04 Javascript
d3绘制基本的柱形图的实现代码
Dec 12 Javascript
vue自定义指令实现方法详解
Feb 11 Javascript
解决layer.prompt无效的问题
Sep 24 Javascript
js实现3D旋转相册
Aug 02 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 文件上传类代码
2011/08/06 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
jquery动态更换设置背景图的方法
2014/03/25 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
JSONP之我见
2015/03/24 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
微信小程序商品详情页的底部弹出框效果
2020/11/16 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
js中switch语句的学习笔记
2020/03/25 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
给Python初学者的一些编程技巧
2015/04/03 Python
python3安装crypto出错及解决方法
2019/07/30 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
jupyter notebook参数化运行python方式
2020/04/10 Python
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
《蒲公英》教学反思
2014/02/28 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
环保宣传语大全
2015/07/13 职场文书
培训后的感想
2015/08/07 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
使用Springboot实现健身房管理系统
2021/07/01 Java/Android
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL