全11件 (11件中 1-11件目)
1
DBの中だけだけど、検索した時に、今までの検索履歴が見れたら良いかなと思って開発。検索時のデータはDBにデータが入っているのだから、それを引っ張ってきて表示するだけ何んだけどねw検索時に、タイトルの横に(*)が出てくるので、リンクをクリックするだけで、値段とランキングの履歴がみれる。なので、実際はどんどん検索してもらって、データを入れてほしいところ。■開発中&検討中案件後は、まだ勉強中で開発中だが、検索履歴を図形でみたいので、グラフ化をしている。これは、GDと言うものを使って図形や画像の切り貼りができるようなので、現在借りているサーバで利用できるか見てみたら、「できる」となっていた^^とりあえず、3キャリアのどの携帯でも見れるようにJPEGでの表示することにしている。実は、携帯ではGIFはDoCoMoだけ、PNGはDoCoMoでは表示ができない使用となっているので、出力ファイルのサイズが大きくなってしまうが、共通の画像形式として採用。
2009.01.30
コメント(0)
アマゾンのAWSはXMLで返してくる。現在はXSLを利用して、HTML化しているので、そのデータを利用しているが、実際はXMLが利用できたほうが早そうだ。で、ちょっと調べてみたら、かなり簡単な方法が見つかったので紹介しする。PHP XML Library, version 1.2bこのライブラリーをダウンロードしてPHPで読み込むこのライブラリーはXMLファイルを連想配列に変換したり、連想配列をXMLに変換してくれるので、XMLの利用が楽になった。=================================================================// XML パースライブラリーを読み込むinclude('xml.php');//初期設定$version = "2009-01-06"; //最新らしい$id = [AWSAccessKeyId];// サーチアイテム(本の検索)$c_url = "&ItemSearch.1.SearchIndex=Books";$c_url .= "&ItemSearch.2.SearchIndex=ForeignBooks";// XMLファイルの場所$url = "http://ecs.amazonaws.jp/onca/xml";$url .= "?Service=AWSECommerceService";$url .= "&AWSAccessKeyId=" . $id;$url .= "&Version" . $version;$url .= "&Operation=ItemLookup";$url .= "&ItemId=";$url .= $isbn_list;$url .= $c_url;$url .= "&ResponseGroup=Small,SalesRank,VariationSummary,Offers";$url .= "&ContentType=text/xml"; // ← デフォルト値なのでなくても良いと思うが判りやすいように設定// XMLファイルを取得する$xml = file_get_contents($url);// XMLを連想配列に格納する$data = XML_unserialize($xml);===================================================================ここまでが、XMLを連想配列にする方法データの取り出しは、$dataにXMLのキーの名前で連想配列されているので、[キーの名前]を付けて呼び出す。例としてタイトルの取得方法をあげると以下の記述になる例)$data[ItemLookupResponse][Items][Item][ItemAttributes][Title]ただし、言語がUTF-8のため、なにもしないと文字化けをおこす。そこで、mb_convert_encodingを利用して、SJISなどにエンコードをかけて表示する。mb_convert_encoding($data[ItemLookupResponse][Items][Item][ItemAttributes][Title],"SJIS","auto")複数の商品検索などをした場合は、Amazon Web サービスの使い方(6) - 検索結果を表示させるhttp://www.naminorito.com/blog/2007/05/30060000.phpにサンプルプログラムがあるので、参考にしていただきたい。(実際、私も参考にしました)
2009.01.28
コメント(2)
前回は、13桁のISBNコードと10桁のISBNコード混在では、APIでの取得ができなかったので、あきらめた。で、最終的に考えた方法が、13桁を旧コードの10桁に変換して検索すればいいと判断。10桁のISBNコードはASINコードと同じなので、10桁のISBNとすればいいのかも。http://www.marusankakusikaku.jp/archives/2007/01/06-isbn-asin.htmlでは、ISBNの詳細や10桁にする計算方法まで書いてあった。ここは便利。とりあえずな方法なのだが、テストでは大丈夫だと思う。そして独自関数として扱えば楽になる。function isbn_calc($ISBN) { if(strlen($ISBN) == 13 || strlen($ISBN) == 12) { $calc_isbn = substr($ISBN , 3 , 9); $isbn_ans = 0; for($i = 0 ; $i < 9 ; $i ++) { $isbn_ans += intval(substr($calc_isbn , $i , 1)) * (10 - $i); } $isbn_ans2 = 11 - (intval($isbn_ans) % 11); if($isbn_ans2 == 10) { $isbn_ans2 = "X"; } if($isbn_ans2 == 11) { $isbn_ans2 = "0"; } $ISBN = $calc_isbn . $isbn_ans2; } return $ISBN;}
2009.01.26
コメント(0)
洋書の検索はできたが、今度は新ISBNコードが検索できなくなった。原因を調べてみたら以下のとおりで、Amazonの仕様のような感じになっている。13桁の新ISBNコードを利用する場合は、IdTypeにISBNが必要で、IdTypeのキーを利用する場合は、SearchIndexのキーが必要である。これで、ItemSearch.1.SearchIndexを利用した場合は、どうもSearchIndexのキーとして読み込んでくれないみたい。それとも、書き方なのかな??とりあえず、旧バージョンに戻した。別に洋書だけの検索をと思ったが、実は978コードを持った洋書があるようで、一番の問題・・・アマゾンってどうやっているのかな??
2009.01.24
コメント(0)
実は、これは知り合いから頼まれて作っているわけなのですが、その知り合いから質問が来ました。「Amazonにはデータがあるのに、洋書の検索結果が出ないのは仕様?」ん?と思って、うちにあった洋書で調べてみたら、出ない・・・なるほどと思って、「調べて修正しておく」と伝えて、急いで原因を調査。質問を聞いたときに、原因はおおよその目星を付けていたので、すぐに判明。SearchIndexがBooksとなっており、この値は「和書」に限定した項目だった。SearchIndexを複数指定で検索できないかと思って、調査を開始。これも、すぐに判明wItemSearch.1.SearchIndex=BooksItemSearch.2.SearchIndex=ForeignBooksこの2つの項目にすると、検索するISBNコードを和でも洋でも混在でもOKな検索結果となることが判明^^Aなので、現在は「和」のみならず「洋」も検索可能となりました。次回は、DBもそうだが、CDやDVDなども作ってみようかな。
2009.01.24
コメント(0)
DBの話からかなりの期間が開いてしまった・・・とりあえずの設定だが、DBを公開。後での修正が利くように、SQLと1件あたりの表示テンプレートを外部コードに送信して、データベースのデータ表示を実施するようにした。設定した項目は以下の3点。(これから増やす予定ではある)1.プレミアム率 中古価格÷定価での中古価格の割合(%)2.価格 中古価格順3.順位 セールランキング順また、ランキングがないものは、データ整理の邪魔になると判断してSQLでデータを呼ばないようにWHERE文でランキングが1以上のもののみ設定。この3点のみだが、これに大きい順、小さい順のサブメニューを追加して表示が可能とした。とりあえずの公開ないのだが、メインよりリンクを貼った。ベータ版ですねw
2009.01.23
コメント(0)
DBの利用では、検索で得たデータを下に、SQLで計算させて、DBからのデータを表示させる方法をとるように決定させた。前回の日記まではSQLで計算させて、それをカラムとして利用する事は可能だが、記述の方法を調査中で終わった。今回は調査で記述が解ったので記載。とは言え、ただ単に計算式を記入するだけだった^^A例としてAmazonでの販売価格が、どれだけプレミアムとなっているかを表示させる方法を記述。プレミアムとは言っても、結局は、中古価格÷定価で割合を出すだけだが。また、降順(後から順番にソート)にさせると、プレミアム率が高い順番に出せるので、DBで取得時に取得したデータをPHPで表示させるだけで良いので楽になる。例)SELECT 中古価格/定価 *100 FROM テーブル ORDER BY 中古価格/定価 *100 DESC;たった、これだけで、データがプレミアム率の高い順番に取得できる。(PHPでの表示は順番に表示させるだけで済んだw)現在入っている価格情報では、400%超えのプレミアム率を誇る本もあったのが驚きだったwDBのデータだけを見ても気がつかないし、検索結果では、取得データをできるだけ必須事項に絞った為、定価の表示がない。あるとすれば、定価の2倍以上だったら、赤文字で点滅させるくらいだ。なので、気がつかなかったのもある。やってみるものだな。
2009.01.19
コメント(0)
サーチの方は、一応の完成をみれた。後は、随時にはなってしまうが、ほしい機能を追加していくだけ。次はと言うと、検索したデータをデータベースへ登録しておき、そのデータを使って、せどりに役立ちそうなレポートの作成を行う事に。登録の方は、検索時に登録するので、たくさんの人に、使ってもらったほうが、様々なデータが取得できて良い。DBはたくさんのデータがあって役に立つものなので、どんどん使ってもらい、データを提供してほしい。一応調べてみたら、SQL自体で計算をしてデータを返せるようなので、SQLの記述方法と、PHPでの受け取り方を調査中。ん~・・・まだ解っていないorz誰か、やり方を教えてください(ぁ
2009.01.18
コメント(0)
検索の仕様では5つのISBNコードを一括で検索できるようにしている。初回のECSを利用しての方法は、フォームに入力されているISBNコードを見て、単独でデータ取得して、整形して、表示する方法だった。普通に考えたら、1つのデータならば、一括よりも単独のほうが取得するデータ量が少ないので、処理が短いと思う。ただし、2つ、3つなど、複数になった場合に、同じ事を回数分実施するので処理が遅くなる。3つのISBN検索「2.876秒」4つのISBN検索「3.787秒」5つのISBN検索「4.85秒」以前にも記述したように、せどりは時間との勝負なので、遅くなるのは致命的。やっぱり、一括でデータを取得して処理することにしないとダメだと判断。アマゾンのAPIで、一括で複数の検索ができるかを調べてみたら、ItemIdに「,」区切りで記述すると取得ができるようだ。これは使えるな。ついでに出てきたのが、通常はXML形式で取得されるデータを、XSLで自動整形されて受信できるようなので、不要なデータの取得がなくて良い事も調べた結果で書かれていた。これも使える。できれば、XSLで整形するときに、色付けなど、処理していたこともできないかなと思った。が・・・結局、できるようだが、よくわからなくて断念orz最終的に決まったことは以下のとおり。・データは一括で検索して取得・データ処理はPHPで処理させる一応テストをしたので乗せておくけど、XSLでの色付けなどをしないが、表示形式に近づけたパターンでの処理結果は早かったw3つのISBN検索「1.201秒」4つのISBN検索「1.359秒」5つのISBN検索「0.948秒」少なくなっているのでたまたまかなとw証券判断での、色付けなどがこの方法で実現できれば、かなり早いと思う。決定事項での処理結果もテストしたので掲載。3つのISBN検索「1.341秒」4つのISBN検索「1.446秒」5つのISBN検索「1.472秒」ずいぶんとPHPのコードもすっきりしたのもあるけど、HTTP処理が1回ですむ事もあり、かなりの短縮になった。
2009.01.17
コメント(0)
せどりサーチで大事なのは、1点だかなとせどりの人は古本屋では結構見かけているので、相手に差をつけるには、短時間でどれだけ多くの検索ができて、要否の判断ができるかどうかが一番の鍵となりうるので、ここを重点的に実施していきたいですね。調べてみたら、AmazonにはWebサービスがあり、その中のAPIでECS4を利用すればなかなかの速度でAmazonに登録されている本のデータが受け取れるようになるらしい・・・でも、勉強中なのでとりあえず、ここまでかな(;´Д`A勉強中で解っていることと言うか、どう書けば良いのか整理してみる。URL:http://ecs.amazonaws.jp/onca/xml?Service=AWSECommerceService(ここは固定)&AWSAccessKeyId=[登録ID]&Version=2007-10-29(ここも固定っぽい)&Operation=ItemLookup(ここはオプション多数だが、詳細を検索するのでこれで良いと思う)&IdType=ISBN(この方が検索しやすいと思う)&ItemId=[本のISBNコード](本の後に書いてあるので片手でも検索しやすいと思う)&SearchIndex=Books(とりあえず本のみに限定なので)&ResponseGroup=Large,SalesRank,VariationSummary(これも多数のオプションがありますが、必要そうなのはこのくらいだと思う)&Style=[XSLのURL](決めた受信時のスタイルを記述したURL)&ContentType=text/html(XMLだと大変そうなのでとりあえずHTMLで)こんな感じかなと。ISBNはResponseGroupと同様に「,(カンマ)」区切りで複数の検索が可能な模様。と、言う事でStyleのXSLでなんとかできてしまえば、ほぼできたも同然かと(ぁ勉強中なので、こんな感じになる予定。テスト中なだけど、XSLではなくPHPでデータ処理を実施するページを教えておきます。「せどりサーチ987」今後に期待かな。あっ、テスト中なので、検索はできても、開発が終了していませんので、エラーとなる場合もありますので、ご利用に際しては、考慮してください^^;
2009.01.15
コメント(0)
はじめまして。ブログはじめました。ブログの内容はと言うと、使っていたHPがなかなか更新がなく、最新バージョンにならないので、こうなったら自分で作ってしまおうと思ったので、ついでに開発日記でも書こうかなと思ってはじめました。とりあえず、開発内容を1.Amazonで978コード対応の検索を行う。2.1回で5個の一括検索を行う。予定だけど、DBを利用してせどりのデータ集計も行えるようにしたいかなと思います。どんな商品が高く売られており、どんな本が売れやすいのかも検索できたら良いかなとDBについては、あくまで開発予定なので、とりあえずの開発作業としては978コード対応の「せどりサーチ978」を作るので勉強中です。
2009.01.15
コメント(1)
全11件 (11件中 1-11件目)
1