這篇文章主要介紹了node爬取微博的數據的簡單封裝庫nodeweibo使用指南,需要的朋友可以參考下
一、前言
就在去年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去看。
安裝:npm install nodeweibo
三、支援的API
支援的API:https://github. com/vczero/node-weibo/blob/master/doc/api.md
目前基本上支援所有的weiboAPI,以下是部分截圖;感謝George Mason University的xizhonghua加入這份md。
四、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)學習他人的程式碼是一種樂趣;體會別人工作的方法是對工作效率的提升。