/ 最近 .rdf 追記 編集 設定 本棚

脳log[20150518] タイトル↑の補足 | タイトル↑からの派生。Kindle版による ISBN乗っ取りが amazon.rbに影響する。



2015年05月18日 (月) ダメになる一方のアマゾン。列挙してみよう。■1.購入ボタンが逃げる。ロード後に挿入される何かのせい。■2.ほとんどが画面外に展開するので欲しいものリストの追加先が選べない。これは 1と同根。押し下げられた購入ボタンの玉突き。■3.商品ページトップのカスタマレビューへのリンクが画面遷移でなくスクロールになったので、購入ボタンのある画面トップに戻る方法が手元からなくなった。ホイールはないし戻るボタンを使うとアマゾン外へ戻ってしまう。代替手段があるとかないとかではない。クリックと対になる操作は何かってことだ(それはスクロールバードラッグや PageUpキーではない)。それを忘れるから手が泳いで操作に迷う。■4.ポインタに反応してしゃしゃり出てくるポップアップがページ内容を隠しクリックを阻害する。商品リストのページめくりを邪魔する。お届け先のポップアップが注文履歴のその他のサマリを隠す。どうでもいい(だから最初は隠されていた)追加情報が商品サムネイルと商品ページへ移動するボタン(※二つは同じもの)を隠す。■5.真の配送料を隠したまま 1-Click購入ボタンを押さそうとする。■6.デフォルト購入オプションで定期便をごり押しする。それって定期便を申し込むまで毎回の不便を強いるってことだ。■7.kindleをごり押しする。kindle版しか入手手段がないってわけでなくても積極的に ISBN(ASIN)を乗っ取って前に出てくる。検索結果ページの出版年月日(だと思っていた日付)も kindle版発売日で上書きされていたりする(これはまあコンテンツにフォーカスすれば判型は区別すべき差異ではないという判断の結果として理解できなくはないが、それでも、kindle化した日付に意味があるか?)。■8.欲しいものリストが壊れている。ページをめくってると2、3ページに1回くらいの割で前のページの商品が混じってくる。リロードすると直る。■9.壊れているのはポイントも同じだった。「Amazon.co.jp:クチコミ:Amazonポイントがおかしい」ポイント制度について。「華僑に学んでわかった「金は天下の周りもの」の本当の意味とは?|Career Supli」を読むとポイント付与の正しさがわかる。それは付与する側の、であって、ポイントを割り引いて実質XXX円とか心底どうでもいいし目にしたくもない。しょうもないことに管理コストを払ってるな(お互いに)と思うだけ。■10.検索が Ajaxになったら、検索実行後に入力欄にフォーカスが残ってるのが予想外でページスクロールに支障をきたす。Enterキーでひと区切りつけてるのに用済みの入力欄に足を引っぱられる。たぶん blurメソッドでフォーカスを飛ばせば解決するというものではない。予想を裏切る作為(autofocus属性とかも)が気に入らないのだと思うから、慣れによって予想は変わるので決まった正解はない。では取り除かれるべき作為は何かって、ページ遷移を省略したこと。検索がインクリメンタルに自動でシームレスに行われていれば予想外の出来事はなかったと思うがね。■11.トップページが商品画像の羅列になって情報量がほぼゼロ。俺ってたぶん画像(現実)認識能力が低いのだろう。見たものから何かを読み取ることが苦手(20140730)。あるいは文字の読み取りに最適化しすぎている(20150319,20141030)。たとえばカーテンを探してるときにリストをサムネイル形式にして見た目に注力して欲しいものを見つけることはある。でもトップページで画像を並べられるとそれが何であるか(本?シャツ?ゲーム?)をまず読み取らなければいけない。それは流し見てるときの俺の処理能力を超えているので何も認識することなく流れていく。価値のないトップページ。■(思いついたら追加する)

最終更新: 2015-06-23T01:18+0900

タイトル↑の補足

ふくれあがる一方の userContent.cssの一部。アマゾンから足を洗う*日は近い。

/* 2013-12-17
	アマゾンのうざいポップアップ広告を消す!!!
*/
body
>div#ap_container:first-child
>div.ap_popover.ap_popover_sprited[z-index="-220"] {
	display: none !important;
}
body
>div#ap_container:first-child
>div.ap_popover.ap_popover_sprited[surround="6,16,18,16"].拡大画像もヒットしてしまう {
	display: none !important;
}
/* 2014-10-15
	アマゾンのページめくりを邪魔するポップアップ(☆の内訳/キャンペーン)を消す!!!
	ついでに注文履歴のお届け先ドロップダウンも消えてる。
	シェブロン(▼)付き全部が対象なんだろう。むしろ好都合。
*/
div.a-popover.a-declarative.a-arrow-bottom {
	display: none !important;
}
/* 2014-10-30
	アマゾンの検索結果サムネイルに下からスクロールして被さるウザくて些細な追加情報を消す。
*/
div.ild3.ilbk3 {
	display: none !important;
}
/* 2015-04-23
	アマゾンのちらちら目障りなフローティングメニューを消す。
*/
#miniATF_feature_div {
	display: none;
}
/* 2015-05-01
	アマゾンの長ったらしいメッセージを隠して
	ウィッシュリストに追加するリストボックスの使い勝手を取り戻す。
*/
div#snsBuyBox.a-box,
div#availability.a-section.a-spacing-none,
div#bbop-sbbop-container.a-section {
	display: none !important;
}

* もちろん意図して選んだ言葉。

最終更新: 2015-06-14T00:34+0900

[tDiary] タイトル↑からの派生。Kindle版による ISBN乗っ取りが amazon.rbに影響する。

IdTypeに ISBNを指定した ItemLookupのレスポンスに Item要素が2つ含まれていることがある。指定した ISBNをもつ本とその Kindle版に対応している。

巧妙なのか偶然の結果なのかは知らないけど、Kindle本の Item要素の方が前にあることで、Kindle登場以前から動いているコードが意図せぬせざる Kindle対応を果たしていたりする。ASINではなく ISBNを指定してそれなのだから意図していないのは間違いない。

begin
	xml = File::read( "#{cache}/#{country}#{asin}.xml" )
rescue Errno::ENOENT
	xml =  amazon_call_ecs( asin, id_type, country )
	File::open( "#{cache}/#{country}#{asin}.xml", 'wb' ) {|f| f.write( xml )}
end
doc = REXML::Document::new( REXML::Source::new( xml ) ).root
item = doc.elements.to_a( '*/Item' )[0] # 無条件に最初の Itemを選択している!

 どうする?

XPathと REXMLについて調べながら試してこうなった。効率もなにもない完全な手探り。

item = doc.elements.to_a( '/ItemLookupResponse/Items/Item[ASIN="%1$s" or ItemAttributes/EAN="%1$s"][1]'%asin )[0]

XPathでは不可能ではないけど、CSSでは親を条件に子や子孫を選ぶことはできてもその逆ができないのだよね(20150323p01)」って、これが念頭にあったから不可能ではないと書いたのだった。CSSでも「CSS4セレクタ (Selectors Level 4) の新機能」が実現すればできるようになるらしいとはその後の調べ。