日付 | 曜日 | 歩数 |
---|---|---|
2015.10.18 | 日 | 7987 |
2015.10.19 | 月 | 4463 |
2015.10.20 | 火 | 14501 |
2015.10.21 | 水 | 4400 |
2015.10.22 | 木 | 7239 |
2015.10.23 | 金 | 4969 |
2015.10.24 | 土 | 4050 |
合計 |
---|
47609 |
日付 | 曜日 | 歩数 |
---|---|---|
2015.10.18 | 日 | 7987 |
2015.10.19 | 月 | 4463 |
2015.10.20 | 火 | 14501 |
2015.10.21 | 水 | 4400 |
2015.10.22 | 木 | 7239 |
2015.10.23 | 金 | 4969 |
2015.10.24 | 土 | 4050 |
合計 |
---|
47609 |
Node.jsでFacebook APIで検索結果を取得したい場合は下記のように記述します。
まず、Facebook APIを利用するにはアカウント登録が必要になります。
下記サイトにAPIキーの取得方法が詳しく記載してあるので参考になります。
Developers.IO
APIキーを取得できたら次に、npmでfbをインストールする必要があります。
1 |
npm install fb |
script.js
1 2 3 4 5 6 7 8 9 |
var FB = require('fb'); FB.setAccessToken('ここに入力'); FB.api('me/friends', 'get', {}, function(e) { if (!e) { console.log("error"); return; } console.log(e); console.log("友達の人数を取得しました。"); }); |
script.jsを実行すると下記のように取得したAPIがコマンドプロンプトに表示されます。
APIキーの設定 :
1 |
FB.setAccessToken('ここに入力'); |
指定情報を抽出 :
1 2 3 4 5 |
FB.api('me/friends', 'get', {}, function(e) { if (!e) { console.log("error"); return; } console.log(e); console.log("友達の人数を取得しました。"); }); |
Node.jsでYouTube APIで検索結果を取得したい場合は下記のように記述します。
まず、YouTube APIを利用するにはアカウント登録が必要になります。
下記サイトにAPIキーの取得方法が詳しく記載してあるので参考になります。
YouTube Data API
APIキーを取得できたら次に、npmでyoutube-nodeをインストールする必要があります。
1 |
npm install youtube-node |
script.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
var Youtube = require('youtube-node'); var youtube = new Youtube(); var keyword = 'FOSS4G'; var limit = 10; var items; var item; var title; var id; var URL; youtube.setKey('ここに入力'); youtube.addParam('order', 'viewCount'); youtube.addParam('type', 'video'); youtube.addParam('regionCode', 'JP'); youtube.search(keyword, limit, function(err, result) { if (err) { console.log(err); return; } items = result["items"]; for (var i in items) { item = items[i]; title = item["snippet"]["title"]; id = item["id"]["videoId"]; URL = "https://www.youtube.com/watch?v=" + id; console.log("title : " + title); console.log("URL : " + URL); console.log("-------------------------------"); } }); |
script.jsを実行すると下記のように取得したAPIがコマンドプロンプトに表示されます。
APIキーの設定 :
1 |
youtube.setKey('ここに入力'); |
検索条件の設定 :
keyword: 検索文字 , limit: 表示数
order: 並び順 , type: 検索対象 , regionCode: 国コード
1 2 3 4 5 6 |
var keyword = 'FOSS4G'; var limit = 10; youtube.addParam('order', 'viewCount'); youtube.addParam('type', 'video'); youtube.addParam('regionCode', 'JP'); |
指定情報を抽出 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
youtube.search(keyword, limit, function(err, result) { if (err) { console.log(err); return; } items = result["items"]; for (var i in items) { item = items[i]; title = item["snippet"]["title"]; id = item["id"]["videoId"]; URL = "https://www.youtube.com/watch?v=" + id; console.log("title : " + title); console.log("URL : " + URL); console.log("-------------------------------"); } }); |
Node.jsでCSV形式からJSON形式に変換したい場合は下記のように記述します。
まず、npmでcsvtojsonをインストールする必要があります。
1 |
npm install csvtojson |
script.js
1 2 3 4 5 6 7 8 9 10 |
var fs = require('fs'); var Converter = require("csvtojson").Converter; var converter = new Converter({}); converter.on("end_parsed", function (jsonArray) { fs.writeFile('./sample.json', JSON.stringify(jsonArray, null, ' ')); console.log("JSON形式で出力されました"); }); require("fs").createReadStream("./sample.csv").pipe(converter); |
script.jsを実行すると下記のようにsample.csvがsample.jsonに変換されます。
sample.csv
1 2 3 4 |
フィールド01,フィールド02,フィールド03,フィールド04,フィールド05 あ,い,う,え,お か,き,く,け,こ さ,し,す,せ,そ |
sample.json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[ { "フィールド01": "あ", "フィールド02": "い", "フィールド03": "う", "フィールド04": "え", "フィールド05": "お" }, { "フィールド01": "か", "フィールド02": "き", "フィールド03": "く", "フィールド04": "け", "フィールド05": "こ" }, { "フィールド01": "さ", "フィールド02": "し", "フィールド03": "す", "フィールド04": "せ", "フィールド05": "そ" } ] |
読み込むCSVファイルを指定 :
1 |
require("fs").createReadStream("./sample.csv").pipe(converter); |
JSON形式に変換して保存 :
1 2 3 4 |
converter.on("end_parsed", function (jsonArray) { fs.writeFile('./sample.json', JSON.stringify(jsonArray, null, ' ')); console.log("JSON形式で出力されました"); }); |
前に、VBAでこの変換ツールを作ったことがあるんですが、csvtojsonモジュールを利用するといとも簡単にCSVからJSONに変換できます。すごく便利です。VBAでわざわざ作った意味は・・・。もっと早くnode.jsと出会うべきでありました。
日付 | 曜日 | 歩数 |
---|---|---|
2015.10.11 | 日 | 3500 |
2015.10.12 | 月 | 5708 |
2015.10.13 | 火 | 4639 |
2015.10.14 | 水 | 3802 |
2015.10.15 | 木 | 4696 |
2015.10.16 | 金 | 4037 |
2015.10.17 | 土 | 5247 |
合計 |
---|
31629 |
Node.jsでAmazon APIで検索結果を取得したい場合は下記のように記述します。
まず、Amazon APIを利用するにはアカウント登録が必要になります。
Amazon Product Advertising API
下記サイトにAPIキーの取得方法が詳しく記載してあるので参考になります。
AjaxTower
APIキーを取得できたら次に、npmでapacをインストールする必要があります。
1 |
npm install apac |
script.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
var OperationHelper = require('apac').OperationHelper; var cheerio = require('cheerio'); var opHelper; var title; var $; opHelper = new OperationHelper({ awsId: 'ここに入力', awsSecret: 'ここに入力', assocId: 'ここに入力', endPoint: 'ecs.amazonaws.jp' }); opHelper.execute('ItemSearch', { 'SearchIndex': 'Books', 'BrowseNode': 465610, 'Keywords': 'GIS', 'ResponseGroup': 'Small', 'Sort': 'salesrank' }, function(err, results, xml) { if (err) { console.log("error"); return; } $ = cheerio.load(xml); $("Items > Item").each(function(idx, item) { title = $(item).find("Title").text(); console.log(title); }); }); |
script.jsを実行すると下記のように取得したAPIがコマンドプロンプトに表示されます。
APIキーの設定 :
アクセスキーID , シークレットアクセスキー , アソシエイトID
1 2 3 4 5 6 |
opHelper = new OperationHelper({ awsId: 'ここに入力', awsSecret: 'ここに入力', assocId: 'ここに入力', endPoint: 'ecs.amazonaws.jp' }); |
検索条件の設定 :
SearchIndex: カテゴリー , BrowseNode: 詳細なカテゴリー , Keywords: 検索文字
ResponseGroup: 取得情報の種類 , Sort: 並び順
1 2 3 4 5 6 7 |
opHelper.execute('ItemSearch', { 'SearchIndex': 'Books', 'BrowseNode': 465610, 'Keywords': 'GIS', 'ResponseGroup': 'Small', 'Sort': 'salesrank' }, |
指定情報を抽出 :
1 2 3 4 5 6 7 8 |
function(err, results, xml) { if (err) { console.log("error"); return; } $ = cheerio.load(xml); $("Items > Item").each(function(idx, item) { title = $(item).find("Title").text(); console.log(title); }); }); |
Node.jsでTwitter APIで検索結果を取得したい場合は下記のように記述します。
まず、Twitter APIを利用するにはTwitter Developersの登録が必要になります。
下記サイトにAPIキーの取得方法が詳しく記載してあるので参考になります。
Syncer
APIキーを取得できたら次に、npmでtwitをインストールする必要があります。
1 |
npm install twit |
script.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
var twit = require('twit'); var tw; tw = new twit({ consumer_key: 'ここに入力', consumer_secret: 'ここに入力', access_token: 'ここに入力', access_token_secret:'ここに入力' }); tw.get('search/tweets', { q: 'FOSS4G since:2015-10-10', count: 5 }, function(err, data, response) { console.log(data); } ); |
script.jsを実行すると下記のように取得したAPIがコマンドプロンプトに表示されます。
APIキーの設定 :
1 2 3 4 5 6 |
tw = new twit({ consumer_key: 'ここに入力', consumer_secret: 'ここに入力', access_token: 'ここに入力', access_token_secret:'ここに入力' }); |
検索条件の設定 :
q: 検索条件 , count: 結果表示数
1 2 3 4 5 |
tw.get('search/tweets', { q: 'FOSS4G since:2015-10-10', count: 5 }, function(err, data, response) { console.log(data); } ); |
検索結果から必要なキーワードを取得すると幅が広がりそうです。
Node.jsでWebAPIを取得してExcelファイルに出力したい場合は下記のように記述します。
まず、npmでofficegenをインストールする必要があります。
1 |
npm install officegen |
今回は、サンプルとして「iTunes Store Web Service Search API」を見つけたので、そのWebAPIを使って地図アプリを検索してみます。
script.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
var fs = require('fs'); var request = require('request'); var officegen = require('officegen'); var Excel = officegen('xlsx'); var list; var sheet; var order; var SaveSheet; var i; var WebAPI = "http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/wa/wsSearch?term=map&country=JP&entity=software&limit=100"; request(WebAPI, function(err, res, body){ if (err) throw err; list = JSON.parse(body); Excel_Export(list); }); function Excel_Export(list) { sheet = Excel.makeNewSheet(); sheet.name = "sample"; sheet.data[0] = ["アプリ名","金額","作成者"]; for (i = 0; i < list.results.length; i++) { order = list.results[i]; sheet.data[i + 1] = [order.trackCensoredName,order.formattedPrice,order.artistName]; }; SaveSheet = fs.createWriteStream('sample.xlsx'); Excel.generate(SaveSheet); console.log("「sample.xlsx」を作成しました。"); }; |
script.jsを実行すると下記のように取得したAPIがExcelに保存されます。
Excelを操作 :
1 2 |
var officegen = require('officegen'); var Excel = officegen('xlsx'); |
「iTunes Store Web Service Search API」の設定 :
term : 検索ワード , country : 国 , entity : ジャンル , limit : 表示数
1 |
var WebAPI = "http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/wa/wsSearch?term=map&country=JP&entity=software&limit=100"; |
JSON文字列をオブジェクトに変換 :
1 |
list = JSON.parse(body); |
Excelシートを新規作成・名称変更・表題入力 :
1 2 3 |
sheet = Excel.makeNewSheet(); sheet.name = "sample"; sheet.data[0] = ["アプリ名","金額","作成者"]; |
JSONの指定した項目をExcelにコピー :
1 2 3 4 |
for (i = 0; i < list.results.length; i++) { order = list.results[i]; sheet.data[i + 1] = [order.trackCensoredName,order.formattedPrice,order.artistName]; }; |
指定したファイル名でExcel保存 :
1 2 |
SaveSheet = fs.createWriteStream('sample.xlsx'); Excel.generate(SaveSheet); |
簡易的な操作であれば、officegenで事足るのではないかと思います。
日付 | 曜日 | 歩数 |
---|---|---|
2015.10.04 | 日 | 4576 |
2015.10.05 | 月 | 6278 |
2015.10.06 | 火 | 5324 |
2015.10.07 | 水 | 5083 |
2015.10.08 | 木 | 5007 |
2015.10.09 | 金 | 4745 |
2015.10.10 | 土 | 4526 |
合計 |
---|
35539 |
日付 | 曜日 | 歩数 |
---|---|---|
2015.09.27 | 日 | 5231 |
2015.09.28 | 月 | 5437 |
2015.09.29 | 火 | 4541 |
2015.09.30 | 水 | 5038 |
2015.10.01 | 木 | 4907 |
2015.10.02 | 金 | 5939 |
2015.10.03 | 土 | 7004 |
合計 |
---|
38097 |
Node.jsで指定したJSONファイルを読み込む場合は下記のように記述します。
script.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
var fs = require('fs'); var json = fs.readFileSync("sample.json", "utf-8"); var obj = JSON.parse(json); var items = obj.items; var i; var item; var name; var remarks; for (i in items) { item = items[i]; name = item.名称; remarks = item.備考; console.log(name, remarks); } |
sample.json
1 2 3 4 5 6 7 8 9 10 11 |
{ "title" : "DB", "version" : 1, "items" : [ {"名称":"あ", "備考":0}, {"名称":"い", "備考":1}, {"名称":"う", "備考":2}, {"名称":"え", "備考":3}, {"名称":"お", "備考":4} ] } |
script.jsを実行すると下記のようにJSONデータがコマンドプロンプトに表示されます。
JSONをオブジェクトに変換 :
1 |
var obj = JSON.parse(json); |
Node.jsで指定したファイルの文字コードを調べたい場合は下記のように記述します。
まず、npmでjschardetをインストールする必要があります。
1 |
npm install jschardet |
script.js
1 2 3 4 5 6 7 |
var fs = require('fs'); var jschardet = require('jschardet'); var file = fs.readFileSync('sample.txt'); var chardet = jschardet.detect(file); console.log(chardet); |
script.jsを実行すると下記のように指定したファイルの文字コードがコマンドプロンプトに表示されます。
encoding : 文字コード名
confidence : 信頼度