ノベライズしたいブログのURLか、RSSのURLを入力してください
:
『愛・おぼえています?』より
ECサイト系WebAPIにちょっとだけ複雑なクエリーを渡す方法(というか雑感)
| « 夏花之初[枣听:第17期] | 欧文を使ったイメージを作成してくれる「typoGenerator」 » |
ノベログ生データ
redgasukiです。 ちょっとだけ複雑なクエリというのは A and B and(C or D ) and (not E) みたいな感じで、and、orやnotを指定して検索する場合を想定しています。 対象となるECサイト形WebAPIは、 楽天市場 Yahooショッピング Amazon バリューコマース のWebAPIを使って行なう場合を想定しています。 img http://ne2ma2.com/wakeari/img/wakelogo.gif ただいま「ワケありーな」という訳あり商品を一括検索するサイトを絶賛公開中です。 ご意見やご要望があれば、是非こちらから、お願いします。 Yahooショッピング img http://blog.ne2ma2.com/wp-content/uploads/image77.png http://developer.yahoo.co.jp/webapi/shopping/shopping/v1/itemsearch.html Yahooショッピング商品検索APIのオンラインドキュメントに見ると、 全てANDか、ORしか出来ないような感じですが 今回の目的のクエリを一番きちんと処理してくれます A and B and(C or D ) and (not E) と書きたい場合、 &query=A B (C D) –E ※UTF-8エンコードをする。他のAPIも同様 ただ、若干癖があり、例えば、「訳ありじゃない」というキーワードを含めないようにしたい場合、 訳あり -訳ありじゃない と書いても、ダメ(検索結果から取り除かれない)だったりします。 色々試して、検索結果から見た経験則で、根拠となるようなソースはないのですが、 検索したいキーワードと取り除きたいキーワードが重ならなければ、大丈夫なようです (どうもYahooショッピングAPIは、検索キーワードを日本語形態素解析してから、検索しているような気がします) notを使うと件数が増えてしまう例 Yahooショッピング 「訳あり」で検索。40672件(2009/6/9現在) http://shopping.yahoo.co.jp/search?first=1&p=%CC%F5%A4%A2%A4%EA&cid=&x=0&y=0 Yahooショッピング 「訳あり -訳ありじゃない」で検索。40813件(2009/6/9現在) http://shopping.yahoo.co.jp/search?first=1&p=%CC%F5%A4%A2%A4%EA+-%CC%F5%A4%A2%A4%EA%A4%B8%A4%E3%A4%CA%A4%A4&cid=&x=0&y=0 件数の合計が正しい例 Yahooショッピング カテゴリ魚介・魚介加工品を「訳あり」で検索。1045件(2009/6/9現在) http://shopping.yahoo.co.jp/search?first=1&p=%CC%F5%A4%A2%A4%EA&cid=939&x=0&y=0 Yahooショッピング カテゴリ魚介・魚介加工品を「訳あり かに」で検索。342件(2009/6/9現在) http://shopping.yahoo.co.jp/search?first=1&p=%CC%F5%A4%A2%A4%EA+%A4%AB%A4%CB&cid=939&x=0&y=0 Yahooショッピング カテゴリ魚介・魚介加工品を「訳あり -かに」で検索。703件(2009/6/9現在) http://shopping.yahoo.co.jp/search?p=%CC%F5%A4%A2%A4%EA+-%A4%AB%A4%CB&cid=939 Amazon img http://blog.ne2ma2.com/wp-content/uploads/image78.png http://developer.amazonwebservices.com/connect/thread.jspa?messageID=40517 上記スレッドのとおり、仕様上は、and or notが同時に使えます A and B and(C or D ) and (not E) と書きたい場合、前から処理をしますので、 &Keywords =C | D A B - E とクエリを渡します わざわざ仕様上と書いたのは、例えば 1. A or B or C 2. A or B or C or D と書いた場合、2.の方が、検索結果が多くなるのが当然ですが、 amazon先生が返してくれる結果は、なぜか減ったりします、ね いまいち信用していいのか、不安な部分もありますが 、 何しろ、他の追随を許さないくらいデータの豊富です。多少のことは目をつぶって・・・ 楽天市場 img http://blog.ne2ma2.com/wp-content/uploads/image79.png 楽天商品検索APIのオンラインドキュメントによると 指定した検索キーワードをAND またはORでの検索、およびそれとは別にNOTでの検索が出来ます http://webservice.rakuten.co.jp/api/itemsearch/ 指定出来るクエリ A and B and (not E) と書きたい場合、 &keyword=A B&NGKeyword=E ORを使いたい場合はorFlagを有効に (C or D ) and (not E) と書きたい場合、 &keyword=C D&orFlag=1&NGKeyword=E 色々と試してみたのですが、 ANDとORを一度に指定することは出来ないようです。 バリューコマース img http://blog.ne2ma2.com/wp-content/uploads/image80.png バリューコマースのWebAPIは、残念ながら、notやorを指定することは出来ないようです。 https://www.valuecommerce.ne.jp/support/ptn/feature/api/download.html リファレンスマニュアル https://www.valuecommerce.ne.jp/support/ptn/feature/api/images/Webservice_API_reference.pdf 「訳あり」で検索してんのかw ワケありーなのはてなブックマークにhttp://blog.fkoji.com/ の中の人からコメントを頂いたのですが、 img http://blog.ne2ma2.com/wp-content/uploads/image76.png http://b.hatena.ne.jp/entry/http://ne2ma2.com/wakeari/ そのとおりw 基本的には、API叩いて、表示するだけの簡単なお仕・・・ お礼に つ 訳ありの梅酒 むしろ、大変だったのは、各ECサイトごとに思想の違うカテゴリを関連付ける作業で チームのharryを中心にzakkiと2人が頑張っていました(←手伝っていない私・・・) 気が付いたら ものすごい久しぶりのブログ更新
