curl を使用したスクリーン スクレイピングは、1 つのアプローチです。試す:
- 認証アプリから Cookie jar を取得します。
- サブスクリプション アプリからアカウントを取得します。
- 数字をクランチします。
このコマンドは、認証 Cookie を SSCookies ファイルに保存します。
$ curl -c SSCookies ' http://smartystreets.com/apps/accounting/auth ' -d email=myEmail -d password=myPassword
次に、cookie jar を使用してサブスクリプション アプリで認証します。これらのコマンドは、サブスクリプションを取得します。
$ subs= https://smartystreets.com/apps/accounting/subscription
$ curl -s -b @SSCookies $subs | python -mjson.tool
( | python 部分は出力をきれいにします)
結果として得られる JSON には、アクティブでなくなったサブスクリプションや更新が近づいている可能性のあるサブスクリプションを含む、アカウント履歴全体が一覧表示されます。ステータスが「アクティブ」のエントリを探します。
[
{
"free": true,
"id": nnnnn,
"issued": 250.0,
"lapse_date": "2013-06-15T08:15:00Z",
"name": "LiveAddress API (Free)",
"sku": nnnnn,
"start_date": "2013-06-03T21:56:00Z",
"status": "expired",
"used": 250
},
{
"autorenew": true,
"id": nnnnn,
"issued": 1200000.0,
"lapse_date": "2015-06-20T20:11:00Z",
"name": "LiveAddress API (Yearly)",
"sku": nnnnn,
"start_date": "2014-06-20T20:11:00Z",
"status": "active",
"used": 934
},
{
"autorenew": true,
"cart_id": 0,
"issued": 1200000.0,
"lapse_date": "2016-07-20T20:11:00Z",
"name": "LiveAddress API (Yearly)",
"sku": nnnnn,
"start_date": "2015-07-20T20:11:00Z",
"status": "proposed"
}
]
私のアクティブなサブスクリプションは #2 (インデックス 1) です。バイタルを抽出するためのいくつかの Python (私はこれに SSMonitor.py という名前を付けました):
import json,sys;
obj=json.load(sys.stdin);
keys=obj[1].keys();
values=obj[1].values();
for i,key in enumerate(keys):
if (key=="used"): used=values[i];
if (key=="issued"): issued=values[i];
print "SmartyStreets subscription usage: {0}/{1}".format(used, issued);
$ curl -s -b @SSCookies $subs | python SSMonitor.py
SmartyStreets サブスクリプションの使用: 934/1200000.0