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 相关文章推荐
ExtJS4 组件化编程,动态加载,面向对象,Direct
May 12 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
Nov 08 Javascript
javascript实现存储hmtl字符串示例
Apr 25 Javascript
原生javascript实现的ajax异步封装功能示例
Nov 03 Javascript
js省市区级联查询(插件版&无插件版)
Mar 21 Javascript
javascript 中iframe高度自适应(同域)实例详解
May 16 Javascript
javascript ES6 新增了let命令使用介绍
Jul 07 Javascript
详解如何使用webpack打包多页jquery项目
Feb 01 jQuery
使用VScode 插件debugger for chrome 调试react源码的方法
Sep 13 Javascript
layui form表单提交后实现自动刷新
Oct 25 Javascript
vue axios封装httpjs,接口公用配置拦截操作
Aug 11 Javascript
JavaScript实现商品评价五星好评
Nov 30 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
php学习之数据类型之间的转换代码
2011/05/29 PHP
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
网页自动跳转代码收集
2009/09/27 Javascript
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
2013/06/14 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
2016/12/06 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
JS验证字符串功能
2017/02/22 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
Python实现的数据结构与算法之快速排序详解
2015/04/22 Python
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
Windows下PyCharm安装图文教程
2018/08/27 Python
Django项目中添加ldap登陆认证功能的实现
2019/04/04 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
如何使用python记录室友的抖音在线时间
2020/06/29 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
市三好学生主要事迹
2014/01/28 职场文书
母校寄语大全
2014/04/10 职场文书
父亲节活动总结
2015/02/12 职场文书
会议简讯范文
2015/07/20 职场文书
安全教育的主题班会
2015/08/13 职场文书