情報処理関連資格をぼちぼち取っています。その取得経験話とか今の取得活動状況を記します。 他、コミックや小説、その他趣味の話、などです。 現在eoblogとシンクロ稼動中。

スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コミック発売スケジュール、ドメイン設定が消えていた・・・ので復旧
Amazonからコミックと文庫の発売スケジュールを取得しているrouel.netなんてのをつくって、もうだいぶん経つのです。ドメインの更新やらレンタルサーバの更新やらはまめにしているのですが、今日気付くとなにげにアクセスができなくなっておりました・・・。

調べてみると、ドメイン設定が綺麗さっぱりなくなっています。これじゃあ毎日きっちりAmazonから取得した情報アップロードしていても見られない・・・。

ということでドメイン設定書いて復旧なんですが、なんでこんなことになったんでしょうね。
スポンサーサイト

「コミック発売スケジュール」、コミックセットをRSSとiCalendarから外してみた
「コミック発売スケジュール」、AmazonのAPIを使用してコミックや文庫の発売カレンダー情報を構築しています。

コミック発売スケジュール

少し前からコミックセット一覧を表示するようにしていたのですが、なんていうかこれって表示してみてわかったけど新刊が追加される度に新しいコミックセットが作られるのでその度に新着情報にヒットしてしまう・・・。

取り敢えず、iCalendar版コミック、文庫発売スケジュール、及びRSSには表示しないようにしました。コミックの発売スケジュールの画面には表示し続けていますが、お薦め作品のところからは外したり。と細かく調整中。

おすすめコミック、文庫発売スケジュール

あとは廉価版単行本(コンビニや駅売店に多い再編成版)を別扱いにしたいんだけど・・・値段だけでは微妙に区別できない。廉価と言っても分厚くなってそれなりのお値段のものもあるし。

「コミック発売スケジュール」、Retina対応してみた
「コミック発売スケジュール」、というAmazonのAPIを使用してコミックの発売カレンダーなサイトを作っています。
GWに入ってようやく春先からの忙しさも休止(GW明けたらまた忙しい予感)、ちょっとこのサイトの修正です。

はい、新しいiPadを買った私が自分のサイトをRetina対応していないのはやっぱり、なんか淋しかったのでRetina対応。
実装の仕方は、これまでの画像をすべて解像度2倍にして、表示はこれまでのままの高さと幅になるように指定する。これだけです。
ただ、これだと通常ブラウザでは無駄に解像度高い画像を表示しているのがあれなんですが、今のところこれでやってみます。早く世の中のデスクトップも解像度倍になってRetinaになればいいのに・・・。

コミック発売スケジュール

なお、これ作ったのって自分がもう最近ほぼ毎日1冊のペースで発生する購入するかマンガ喫茶で読むかする作品を把握するためだったりするわけで、現状は
おすすめコミック、文庫発売スケジュール
こんな感じです。今月もたくさん買うもの読むものがあって楽しいです。

「コミック発売スケジュール」なんとなくロゴをつけてみる
「コミック発売スケジュール」をAmazonのAPIを使って作成して公開しています。

コミック発売スケジュール

このところ特に修正することもなかったのですが、ずっと開けっ放しだった左上の部分に何かロゴでも入れるかと思ってつくりました。・・・うーん、自分で作っておいてなんですが、直感的じゃなくなったなぁ。
ついでにこれまでのfaviconもこれに合わせました。

本当はHTML5にしよう、とか、TABLEタグ部分をDIV+CSSにしよう、とか思っていたのですが・・・。

ま、ぼちぼち対応していきます。いや、TABLE部分はこのままかも。

Amazon Product Advertising APIの仕様変更(2011-08-01版)についてちょっと試してみる
Amazon Product Advertising APIの仕様変更の案内が来ています。

Product Advertising API

2012/02/22でこれまでのバージョンのリクエストができなくなります(2011/07/27現在)。さて、どうしましょう。

私はこのAPIを使ってコミック発売のスケジュールを取得しています。

コミック発売スケジュール

今回の仕様ではItemPageが最大400までリクエストできたのが一気に最大10と40分の1に減ります! 出版社の発売日順に取得していって最新情報を取っているのでこのItemPageが減るのはきついです。
ほかにも変更点はいくつかありますが、あまり大きな影響はないようです。

念のため、バージョンを2011-08-01にしてリクエストしてみましたが、減ることとなったItemAttributes要素もこれまで取得していた要素がとれていたので大丈夫っぽい。
そしてItemPageは10まではとれますが、11では全くとれなくなりました。エラータグつけて返ってきます。はあ、そうなんですね、これはやっぱり大きい。

今後は最新の情報をいかにうまく拾えるか、リクエストの方法を検討しないといけません。やっぱりソート順で登録順とかがあればいいんですけどね。

「コミック発売スケジュール」、早速IE9のジャンプリストに対応してみる
「コミック発売スケジュール」、というAmaoznのAPIを使用してコミックや文庫の発売スケジュールを表示するサイトを作っています。

コミック発売スケジュール
文庫発売スケジュール

ここに、今回発表されたIE9の新機能のひとつ、個別のURLを「ピンサイト」化し「ジャンプリスト」に対応するべくさくっとMETAタグに仕込んでみました。
ただこれって現在はWindows7+IE9っていう環境でしか機能しない・・・。

取り敢えず上記の環境ならサイトのURL先頭のアイコンをドラッグしてタスクバーにドロップしてください。これでピンサイトになりました。
このタスクバーのアイコン上で右クリックすると、サイト内でのメニュー的に各種ページへのショートカットが表示されます。
取り敢えず、コミックでは日別当月来月限定版新着を表示します。文庫でもだいたい同じですがこっちは限定版を外して1巻ページへのリンクを入れてみた。はい、このメニューは5個しか配置できないのです。

以下のサイトなどを参考につくりました・・・というか静的にMETAタグを追加するだけでしたので簡単でした。
固定サイト: Windows 7 デスクトップの Internet Explorer 9 との統合

Amazonでコミックセットが多く載ってきたので一覧にまとめてみました
AmazonのAPIを使用して、
コミック発売スケジュール
を作成しています。
基本的にこれまでは発売予定を収集して表示していたのですが、このところ「コミックセット」というものが表示されるようになってきました。

学園黙示録HIGHSCHOOL OF THE DEAD 1-6巻コミックセット (角川コミックス ドラゴンJr.)
学園黙示録HIGHSCHOOL OF THE DEAD 1-6巻コミックセット

一覧画像の迫力がいいですね。

その名前のとおり、完結作品なら全巻セットになっていたり(多かったら分割されている場合もあります)、未完作品なら1巻から最新巻、というようなくくりでセットになっているものです。
ちょっとそれだけをカテゴリや名称から検索して抜き出してみると結構な量になります。
せっかくなので、このコミックセットをまとめて表示してみることにしました。当然、完結本も未完も、そしてマーケットプレイスや中古のセットも含んでいます。

コミックセット一覧

まーだ、取り始めたばっかりなので全然収集しきれていないようですが、ぼちぼち収集していきます。

APIの話をするとカテゴリにコミックセットがあるので収集が楽かと思いきや、多すぎて検索結果の最初の方しか収集できません これをいかにうまく収集するかが鍵ですね。

「コミック発売スケジュール」、イラスト集も対応してみた
AmazonのAPIを使用してコミックの発売情報を収集して、発売リストにしています。

コミック発売スケジュール

これに今回はイラスト集もコミック扱いで含んでみるように修正。
APIでカテゴリの取得をこれまで代表的なものだけだったのをやめて上がっているものをほぼ全部取得。それからイラスト集を捜しておりますが、イラスト集がコミック系でないものまで拾えてしまうので、目下試行錯誤中でコミックやアニメ、ゲーム系以外まで表示されているようです。
また、カテゴリをたっぷり取得したので文庫の方もより文庫以外が拾えてしまっており、こっちももうちょっと絞れるか検討中。

でも、これでやっとCHOCOさんの
CHOCOLATE GOUACHECHOCOLATE GOUACHE
がリストに加わった

Amazonの「みんなが選ぶ本 10%ポイント還元」キャンペーン、好評につき続きます!
先だって、というか昨日までだったAmazonの「みんなが選ぶ本 10%ポイント還元」キャンペーンが今日2010/10/01からも引き続き2011/01/16まで、「みんなが選ぶ本 10%ポイント還元2」キャンペーンとして実施されます。

Amazon.co.jp: 「みんなが選ぶ本 10%ポイント還元2」キャンペーン

いやーありがたいですねぇ、なんていうか最近のコミックの限定版がDVD付きなんてなるとすごく高くなるので ただ、DVDがつく限定版よりはちょっと表紙が違う程度の限定版のほうがありがたいと言えばありがたいんだけど・・・。
でもってなぜかコミックの限定版は最初はコミックカテゴリじゃなく、本カテゴリに入っていることが多いので、本カテゴリも見ておくべきです。

なお、現状10%ポイント還元で考えるとでっかいのは、コスモスさんがかわいくも凛々しいCHOCOさんの画集、
CHOCOLATE GOUACHECHOCOLATE GOUACHE
です。2010/10/01 23:00現在対象商品です。
これもなんで高いのかと思ったらDVDがつくんですけどねぇ

CHOCOLATE GOUACHE特設ページ 書籍 コトブキヤ

なお、10%ポイント還元関係なくAmazonの最近発売のコミックや文庫の限定版だけなら私のつくっているサイト
限定版コミック、文庫発売スケジュール
で一覧していますのでよければ見てください。

AmazonのAPI利用規約が変わります、これでレスポンスがよくなるかも?
AmazonのProduct Advertising APIの利用規約が変わり、これまで毎秒1回で、一日10000回までというリクエスト制限が厳しくなります。他にはいくつかのオペレーションやレスポンス・グループの廃止。・・・もうひと月くらい前から発表されていましたが。
うーん、電子書籍化でうれしがってScanSnapとかPDFとかiTextSharpとかに夢中のうちにいろいろありますねぇ

さて、毎時2000回、このAPIがつくったリンクからの過去30日の売り上げに応じてリクエスト回数が500回単位で増やせます。これまでは毎時換算なら3600回だったのですけど、うーん、毎日の回数制限が撤廃されたり、毎秒1回制限がなくなったのは喜ばしいけど、売り上げに貢献していないからなぁ デフォルトの2000回をめどにしてPGMを改修するか。
また、コミックと文庫の判断がつきかねる際の最終手段としてSubjectsをレスポンスグループに入れて取得していたのですが、これが使えなくなる。これも修正。Multiple Operation Requestsは多分使っていないはず、オペレーションを一度に複数はリクエストしていないから。

なお、このAPIで作っているサイトは、
コミック発売スケジュール
です。
まあWebサービス対応PGMの勉強と、主に自分のためにコミックの発売スケジュールを構築しているものですから、売り上げないのは仕方ないとはいえ。利用規約変更に対応して情報収集の時間がかなり増える・・・毎時2000回は1.8秒に1回のリクエストか。
ん、ちょっと毎日のAPIでの情報収集のログを確認、あ、毎日だいたい3000から4000回のリクエスト。ただ、リクエストを1秒間隔になるようにして行っているだけだから、間隔伸ばしてゆっくりやればいいのか。しかも1秒間隔にしていても結構ロスがあるので実際は1.4秒間隔くらい、レスポンスが軽い日でも1.2秒間隔で、遅いと2秒間隔になるような日もあったりする
案外変わらないのか。

しかも、開発者フォーラムでのAmazonからの回答だと毎時00分でリクエスト回数はリセット、ということはたとえば午前3時から30分までリクエストしないなら3時30分から次の4時までの30分間で2000回のリクエストはいいんだ。私のように毎日の回数が多くて4000回なら、2000回ごと00分を挟んで連続してリクエスト可能。ああ、これはなかなかいい感じです。さくっと短い起動でなんとかなるかも。早速PGMを修正しないと。
これは地味に1秒間隔の制限もなくなったから、うまく時間を工夫すればよい感じ。

ただ、この規約適用は2010/10/15からということで、それまでにはこれまでどおりの1秒間隔は守っておかないといけない。修正して即テストってのがいまのところできないのが残念です。

なお、こういう利用規約変更は大量にアクセスをする人とか頻度が短すぎる人とかがあったからの対策です。だからむしろレスポンス自体はよくなるんじゃないかと期待もしています。

Product Advertising API

コミック発売スケジュール、久々にちょいと改修(件数表示)
コミック発売スケジュール、というAmazonのAPIで発売予定を収集してWebに公開しております。
じみーに使いこみつつ、機能をちょっとずつ追加して自分としてはかなり使いやすいリストになっていると思うのです。

コミック発売スケジュール

今までは最後にちらっと書いていたページ内の件数表示を最初にも表示。これでいかにたくさんその月に発売されているとか、わかったりします。当然、限定版ページやおすすめページ、第1巻のみページなどでも件数表示を上にももってきております。
地味にこのページに何冊分載っているのかがすぐにわかると、ちょっと嬉しいのです。

限定版コミック、文庫発売スケジュール
おすすめコミック、文庫発売スケジュール
1巻目のコミック、文庫発売スケジュール

また、このページなどにも入っていますが、ブログパーツでの限定版などでも同様にしてみました。

さて、仕事がお盆を前にして忙しくなったのですが、なぜかこういう時に頑張る私・・・
家に帰って休めばいいのに、いや、気分を紛らわせるために やっているんですね、はい。

あ、でも今日発売を見せる日別のブログパーツ、これはまだ件数対応していない。ま、ぼちぼち修正していきましょう。

「コミック発売スケジュール」久々に昨日追加・・・かな
AmazonのAPIを使って「コミック発売スケジュール」なるものを作って公開しているわけです。
ここのところずーっと日々の更新を行うだけでシステム的になにも変更していなかったのですが、GW前(?)だし、ちょっと頑張ってみました。

コミック発売スケジュール

追加した機能としては「1巻目のコミック、文庫」のみでまとめたページ、RSSの作製です。
1巻目のコミック、文庫発売スケジュール
連載作品の最初の単行本、1巻のみの発売スケジュールです。いや、これが案外地味に見逃していいたりするのですよ 連載雑誌をまめにチェックしていないことは多いですから。
それに、これで全然知らない作家さんの新作に出会えたりできそうで、作ってみました。

なお、巻数のない単巻ものは省いています。あくまで1巻として巻がついているものだけです。(ま、タイトルから巻数を自動判別しているのでたまに間違いあったりしますが) やっぱ以下続刊な方が買う方としても楽しみがつながりますしね

他は機能改善、リスト中に上下矢印があったのですがこれまではページの先頭か最後尾にしか移動していなかったのです。これを矢印マークをちょっと変更して突き当たりまでのイメージの矢印に変更。
そして普通の矢印は前後の日までのスクロールとするようにしました。ちょっと使いやすくなったかな?

ま、そんなとこです。

「コミック発売スケジュール」をAmazon Product Advertising API(旧名称Amazon Webサービス)の電子署名つきのリクエストに対応させました
コミック発売情報をAmazon Product Advertising APIで取得していますが、この名称になる変更と一緒にきた変更がなにげに大変でしたねぇ。なお、C#でREST使用です。
AmazonのサイトにC#のRESTサンプル(2009,05,07版)もあるし楽勝とか思っていたのですが、そのサンプルがそのままではリクエスト内容にキーワード含むとうまく電子署名ができずにエラーが返ってくる場合が多かったのです。
結局、問題だったのはリクエスト文字列をURLエンコードする関数SignedRequestHelper.PercentEncodeRfc3986でした。

以下、覚えです。保証はできません。

Amazon Web Services Developer Community : Product Advertising API Signed Requests Sample Code - C# REST/QUERY
上記のリンクのサンプルソース(2009,05,07版)を使用しています。

HttpUtility.UrlEncodeでのURLエンコードそのままで電子署名化しても、このAPIではエラーになります。
やったことは、
1.HttpUtility.UrlEncodeでのURLエンコード
2.APIが求めるURLエンコード対象に変換漏れしている文字列をエンコード、あるいはURLエンコードを求められていない文字をデコード
サンプルで変換しているようで変換していなかったので、変換しました。
str.Replace("'", "%27").Replace("(", "%28").Replace(")", "%29").Replace("*", "%2A").Replace("!", "%21").Replace("%7e", "~");
となっていたのを、
str = str.Replace("'", "%27").Replace("(", "%28").Replace(")", "%29").Replace("*", "%2A").Replace("!", "%21").Replace("%7e", "~").Replace("+", "%20");
としました。
特に、スペースは"+"になってしまいますので"%20"にします。これがわからなくって、ちょっとはまっていた
3.URLエンコードした結果の文字列での英字が小文字なので大文字にする。
ここもなぜかサンプルは"%"に続いて数値がある場合のみ、その次の英字を大文字化していました。"%0a"なら"%0A"にしますが、"%a0"などはそのままだったので、これまたはまっていた
"%"に続く2文字は大文字化しました。

あとは出来たURLで電子署名した文字列をURLにつけてリクエストする。

なお、リクエストに電子署名つけたのでレスポンスタイムがどうなったかは、誤差程度の増加です。
結局1秒に1回のリクエストという制限があるので、リクエストのレスポンスタイムはあんまり意味がないですので
ターンアラウンドタイムとしてならこっちのプログラムの処理も含めてとなり、この下記コミック発売スケジュールの情報取得のための毎日の平均値を前週の同じ曜日と較べると0.07秒程度遅くなっています。とはいえ、こっちも電子署名つける処理増えているし、この分じゃないかなぁ。

コミック発売スケジュール

久々にコミック発売スケジュールに新機能(当日発売RSS配信)追加・・・地味だ
コミック発売スケジュールをAmazonからの情報で作成して公開しているのですが、このお休みをちょっとだけ利用して機能の追加。うーん、拡張?

なにをしたかというとRSS配信内容に、新たに当日発売のコミック情報を配信する機能、です。
RSSは変更内容を配信するのが普通の使い方ですが、まあその日に発売される内容をこれで知ってもいいかなってことで作ってみました。

コミック当日発売RSS

「コミック発売スケジュール」の中ではICSやRSSの位置情報を載せたページの一番下にリンク置いてあります。
iCalendar版コミック、文庫発売スケジュール、及びRSS

また、各月ごとのコミック発売スケジュールのヘッダ、フッタにも追加しています。これまでの新着更新RSSの下に、当日発売RSSとして置いておきました。
リンクをコピーするか、ドラッグ&ドロップでRSSリーダに登録ください。

コミック発売スケジュール


「コミック発売スケジュール」、ちょいと503対応やら
「コミック発売スケジュール」、ここのところは別段なにも変更もしていなかったのですが、AWSでのコミック情報取得で最近503エラーが頻出です。1秒1回リクエストを守っているし、1日のリクエスト総数も10000以下だし。
これまでは503エラー出たら安全のために取得中止していたのですが、どうにもURL内容に問題があるわけでもなく、当然前のリクエストからの待ち時間が短すぎるわけでもないので、503エラーなら1秒待ってのリトライを仕込んでみました。
あっさり解決・・・取り敢えず503エラー出ないに越したことはないのですけど。

そうそう、地味に「コミック発売スケジュール」のレンタルサーバ、無料サーバだったので上にバナー広告が入っていたのですがこのたび課金して上のバナー広告なくしました。
ふふふ、これで趣味のサムネイル画像いっぱい画面(それなりも重いですので注意してください)も、さらにいっぱいだ!

コミック発売スケジュール
Copyright © ときおりのこのみ. all rights reserved.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。