AmazonWebサービス(Product Advertising API)に入門する。
目標
キーワードなどに連動して、人気のランキングを出力するブログパーツを作る。
→サンプルサイト
まず
http://www.ajaxtower.jp/ecs/を見ながら、勉強と下準備。
amazonAPIを利用するには、
・Amazonアソシエイト・プログラムへの参加
・Access Key ID
・Secret Access Keyの取得
が必要。
アソシエイトは参加済みなので、API参加し、IDとKEYを取得。
手順に従い、リクエストコードを取得↓
http://ecs.amazonaws.jp/onca/xml? Service=AWSECommerceService
&AWSAccessKeyId=[AccessKeyId]
&AssociateTag=[AssociateID]
&Operation=ItemSearch
&SearchIndex=Books
&Title=HarryPotter
&Version=2009-07-01
&Timestamp=2012-11-13T10%3A38%3A55.000Z
&Signature=QhXHRaqbahhbyDIHwL4hWDi9WHJNlbwALLQJ2OQNVmY%3D
これをurlに入れると、XMLで出力される。タイムスタンプと署名は毎回取得しなければいけないらしく、そこんとこが厄介そう。
最終目標としては、amazonのリンクを作ってくれる、ウェブサービスを提供したい。
Services_Amazon
PEARのライブラリ『Services_Amazon』ならAmazon APIを簡単に使えるらしい。
ので、下記サイトを参考に作ってみた。
PEARの導入参考:http://blue-spiral.matrix.jp/20110528-pear-in-sakura.html
PHP処理プログラムコード初心者向け参考:http://nplll.com/archives/2011/06/_pearservices_amazon.php
PHP処理プログラムコード参考:http://or2.to/2012/04/service-amazon-2.html
入力フォーム参考:「Amazones」(http://aokobe.sakura.ne.jp/php/amazones.php)
最終コード
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . '絶対パス');
require_once('Services/Amazon.php'); // インクルードファイル
header("Content-type: application/x-javascript");//js
$amazon = new Services_Amazon('XXXXXX', 'XXXXXX', 'XXXXXX-22');// 『Services_Amazon』の定形
$amazon->setBaseUrl('http://ecs.amazonaws.jp/onca/xml'); // 検索範囲:日本のamazon
$category = $_GET['category'];//JavaScriptで飛ばしてくる変数。
$param = $_GET['param'];
$key = $_GET['key'];
$id = $_GET['id'];
$number = $_GET['number'];
$select = $_GET['select'];
$sort_select = $_GET['sort_select'];
if(!empty($key)){//もしキーワードがあれば検索。
$result = $amazon->ItemSearch($category, array('Keywords' => $key, 'ResponseGroup' => 'ItemAttributes, Images'));
}
elseif($sort_select == 'daterank'){//もしキーワードが空ならリリース日順。
$result = $amazon->ItemSearch($category, array('BrowseNode' => $param, 'Sort' => 'daterank', 'ResponseGroup' => 'ItemAttributes, Images'));
}
elseif(empty($key)){//もしキーワードが空ならランキング。
$result = $amazon->ItemSearch($category, array('BrowseNode' => $param, 'Sort' => 'salesrank', 'ResponseGroup' => 'ItemAttributes, Images'));
}
for( $i = 0; $i < $number; $i++ ){
$asin = $result['Item'][$i]['ASIN'];
$gazolink = "<div class='azimg'><a target='_blank' href=http://www.amazon.co.jp/exec/obidos/ASIN/".$asin."/".$id."/ref=nosim/><img src='".$result['Item'][$i]['LargeImage']['URL']."'></a></div>";
$titlelink = "<div class='aztitle'><a target='_blank' href=http://www.amazon.co.jp/exec/obidos/ASIN/".$asin."/".$id."/ref=nosim/>".$result['Item'][$i]['ItemAttributes']['Title']."</a></div>";
if ($result['Item'][$i]['ItemAttributes']['Title'] == "") {break;}//タイトルが空白なら、繰り返しがBREAK。
//▼//$selectで表示方法を分岐。
if($select == 'txt'){//テキストだけ
$mix = "<div class='az'>".$titlelink."</div>";
}elseif($select == 'img'){//画像だけ
$mix = "<div class='az'>".$gazolink."</div>";
}else{//全部
$mix = "<div class='az'>".$gazolink.$titlelink."</div>";
}
//▲//
$output = $output.$mix;//ループさせるための自己読み込み
}
echo "document.write(\"$output\")";
?>
『アズバイエル』へ移動
楽天ウェブサービスに入門する。
出力は「xml」と「json」が選べるらしいが、親しみのある「xml」をつかおう。
例によって、simplexmlで読もうとするが失敗。
うーん?わからん。
公式ページによると、SDKによるデータ取得がオススメらしい。
「SDK」とは、Software Development Kitの略で、その中の「Rakuten Web Service SDK for PHP」は、PHPアプリケーションから 楽天が提供しているAPIに、簡単にアクセスすることができる。(※PHP5.2.3以上)
つまりは、PHPライブラリの一種。
PHPのバージョンが心配だったが、PHP5.2.3以上。ミニバードやるじゃん。
見本通り書き呼び出し成功。
ただし、どうも楽天ウェブサービスでは大きい画像が取得できないらしい。
64×64の[smallImage]か128×128の[mediumImage]かの二択。悲しすぎる。
最後にブログパーツ化して、完成。
最終コード
<?php
header("Content-type: application/x-javascript");//js
$id = $_GET['id'];//JavaScriptで飛ばしてくる変数。
$number = $_GET['number'];
$select = $_GET['select'];
$key = $_GET['key'];
require_once dirname(__FILE__).'/sdk/autoload.php';//sdkをリクエスト
$client = new RakutenRws_Client();
$client->setApplicationId('XXXXXXXX');
$client->setAffiliateId($id);
if(empty($id)){//もしIDが空なら、XXXXXXXX
$client->setAffiliateId('XXXXXXXX');
}
$response = $client->execute('ItemSearch', array(
'keyword' => $key,
'hits' => $number
));
//var_dump($response);
if ($response->isOk()) {
// レスポンスを foreach でアクセスできます
foreach ($response as $item) {
$gazolink = "<a target='_blank' href=".$item['affiliateUrl']."><img src=".$item['mediumImageUrl']."></a>";
$titlelink = "<div class='aztitle'><a target='_blank' href=".$item['affiliateUrl'].">".$item['itemName']."</a></div>";
//▼//$selectで表示方法を分岐。
if($select == 'txt'){//テキストだけ
$mix = "<div class='az'>".$titlelink."</div>";
}elseif($select == 'img'){//画像だけ
$mix = "<div class='az'>".$gazolink."</div>";
}else{//全部
$mix = "<div class='az'>".$gazolink."<br>".$titlelink."</div>";
}
//▲//
$output = $output.$mix;//ループさせるための自己読み込み
}
}
echo "document.write(\"$output\")";
?>
キーコーヒー株売却。(+5000)
なんだかを買収したとかで高騰。しかし優待は欲しい。
明日あさってあたりに下がって、2月末にはまた上がると予想してるけど、どうだろう。
ダイエー株は今日も約定せず。
アマゾンでUSBの延長コード注文(¥300)
時計が電池切れで近所の時計屋に持っていったが、防水できないとか言われ、直らず。明日違う店に行ってみよう。
ついでにダイエーで「パール金属」の金属ラックを買ってしまった(¥500)
良い買い物。
コーヒーと紅茶とお茶の筒とか、スプーンとかまとめて置いてあるさまが気持ちいい。
大学の卒業式は3/19だった。
なにするんだろうか。
友達に飛田新地行こうって誘われた。
しらべておく。
最近2ちゃんねるの『Web収入(仮)@2ch掲示板』に入り浸っている。
『株式@2ch掲示板』もたまに見に行く。
まったく役には立たないけど、小競合いとか見てると和む。
勉強せねば。テスト受かるかしらん?
減価償却
減価償却とは、複数年度にわたり使用する予定の、建物、機械、設備などの取得のために行った金員を、それらを使用する予定の各年度に分割して費用とするための計算方法。
しかし、どうにも納得出来ない。なぜ減価償却が必要なのか?
調べてみると、理由は、「減価償却は費用配分の意味があるだけではなく、投下資本の回収による設備投資資金調達の手段としての自己金融機能ももっている。」からだそう。わからん、難解過ぎる。
噛み砕いて言えば、
費用配分とは、ある四半期に経費が集中し、赤字と黒字の期間が凸凹として不恰好になるから。
自己金融機能とは、内部留保(社内の蓄積)に代表される自己金融と同様の効果があるってことらしい。過去の自分に借りてるって感じか。
あと、減価償却するか否かは任意らしい。
ただし、大企業・公開会社の場合は会計基準や財務諸表監査制度で減価償却が義務化されている場合もあるらしい。
一時所得
臨時的、偶発的な所得。埋蔵金発掘とか、ツチノコ捕獲報奨金とか。
宝くじもこれに分類されるが、特別に非課税。
維持所得は担税力が弱いから1/2の額から課税。
雑所得
雑所得はその他の所得。
利子や売買益は、事業所得にも、雑所得にも分類され得る。その区分については、事業所得は営利を目的として反復継続的に行われる事業としての社会的地位が客観的に認められている事実的規模による所得であり、雑所得は事業的規模に至らない所得である。
今回のテスト範囲は、法人税がメインっぽい。しらんけど。
法人税
法人税とは、会社などの法人の所得に対して課される租税であり、所得税は個人の所得に課される租税である。
関連
AZ【ブログパーツサイト】
ネットと法律【ペラサイト】
サンプルアンテナ【スマホアンテナサイト】
Web
CSSデザイン
WEBクリエイターになるための入門7レッスン
CSS3 Button GeneratorCSSのボタンを作成してくれるジェネレーター。
よくわかるPHPの教科書
素材
ヒバナ
アイコンFree Outline Icons
アイコンineversay
http://www.freefavicon.com/freefavicons/objects/index.php
http://www.iconpot.com/
楽天
Mファッション
MinoriTY
ウェブサービス
原寸画像検索
okwave
Twitter検索や特定ユーザーのTLをRSSで配信するフィードジェネレーター
株
ヤフーファイナンス
会社四季報オンライン
株マップ
その他
スターマインとは、速射連発花火=はいくつもの花火を組み合わせて連続的に打ち上げ、ひとつのテーマを描き出すもので、いまや花火大会をはじめ各種イベント、ショーを盛り上げるには欠かせない花形プログラム。
短時間に大量の玉を打ち上げる景気良く華々しい演出は、スピード感にあふれ観客の反応も良いもの。
今でも時々思う~♪さよならスターマイン
2013年春の大学卒業予定者の10月時点での就職内定率は、
63.1%となり、2011年に比べて、やや持ち直したものの、依然として、
厳しい状況が続いている。
文科省と厚労省の調査によると、10月1日現在の就職を希望する大学生の
就職内定率は、 2011年の同じ時期より3.2ポイント上昇し63.1%となり、
最低となった2010年から、2年連続での上昇しているものの、
依然として厳しい状況が続いている。
若干持ち直した理由として、文科省は、団塊の世代が退職で
抜けた分の企業側に需要ができたことと、大企業志望だった学生が
中小企業にも目を向けたことで、ミスマッチが
解消されつつあることがあるとみている。
一方、高校生の就職内定率は、前の年の同じ時期に比べ0.5ポイント下がって、
41.0%となったが、厚生労働省によると、選考開始の日程のずれによるもので、
今後、2011年並みか2011年以上に上昇する見通しだという。
http://workingnews.blog117.fc2.com/blog-entry-5646.html
らしいよ。
久々に読み返す。
やっぱいいわ。もだえ苦しむおもしろさ。
『MOMENT』の続編。
主人公は葬儀屋森野。
面白い。これでもかっていうくらいに面白い。
余韻を残した『MOMENT』の最後も好きだけど、期待に応える『WILL』が素晴らしすぎる!!
次は、コメディータッチでパンクでロックなスピンオフも書いてほしいなw
それにしても本多孝好さん。曲者だわ。
思い返すと、『MOMENT』と『WILL』は大好きなのだけど、『真夜中の五分前』は糞だと思うし、『ALONE TOGETHER』はそこそこ。『FINE DAYS』はいまいち。『チェーン・ポイズン』は冗長で響かず。
自分の好みと合うのか合わないのかよくわからない作家さん。でも目に付くと買ってしまう不思議。多分好きなんだろう。
愛宕山登ってきた。
昔登ったのもあって今回が2回目。
前回が冬で、今回は夏の愛宕山。
愛宕山(あたごやま、あたごさん)は、京都府京都市右京区の北西部、山城国と丹波国の国境にある山である。京都市街を取り巻く山の中で、比叡山と並びよく目立っており、信仰の山としても知られる。
山頂は京都市に所在するが、約1.5km西に市境があり、山体は亀岡市にまたがる。標高924m。三等三角点「愛宕」(890.06m)は山頂の北方約400mの地点に所在する。
参詣ルートは、亀岡保津→水尾→清滝ルート7合目合流→愛宕神社
亀岡保津→水尾の道が結構たいへん。整備されてないし、クモの巣と虫やたら多いし。
合計時間は、朝の9時から登って、昼の15時ごろに下山したから、往復で6時間くらい。
しんどかったー、引きこもりに登山はしんどい。山頂の社務所に自販機があるのが超ありがたかった。危うく熱中症になるところだったわ。
ちなみに近くの山「比叡山」の標高は約850m、最近話題の「富士山」の標高は3700mである。
比叡山もちょっと行ってみたいなと密かに思う、今日このごろ。
私を探さないでください。
<meta name="robots" content="noindex,follow" />
メタタグで設定する。
「このページは検索されません。このページからのリンク先ページは検索されます。」の意。
どこまで効果があるのだろうか。
2013/01/22追記
メタタグ変更から一週間、意外と効果あり。もともと検索アクセスの少ないサイトだけど。
