Dan Kogai氏が下記のページで公開しているamazonの書籍情報取得APIが有ります。
Ajax – AWS Caching Proxy w/ Authentication Support
これを利用して、C#にて指定したASINの書籍情報を取得するサンプルです。
//********************************************************************* /// <summary> dan.co.jpのwebapiを使用してアマゾンの書籍情報を取得する /// /// </summary> /// <param name="asin"> 検索キー(ASIN)</param> /// <returns>書籍情報</returns> //*********************************************************************- private static XmlDocument searchItemInfoByAsin( string asin ) { string url = "http://api.dan.co.jp/asin/" + asin + ".xml"; using (XmlReader reader = XmlReader.Create(url)) { XmlDocument doc = new XmlDocument(); doc.Load( reader ); return doc; } } |
上記メソッドの呼び元側は、以下のようになります。
//----------------------- // 商品情報を取得する //----------------------- XmlDocument itemDoc = null; try { itemDoc = searchItemInfoByAsin( "4534045220" ); } catch ( Exception ex ) { MessageBox.Show( "商品データの取得に失敗しました id[" + id + "]\n" + ex.Message ); continue; } string asin = getNodeTextDef( itemDoc, "/opt/ASIN", "" ); string title = getNodeTextDef( itemDoc, "/opt/ItemAttributes/Title", "" ); string author = getNodeTextDef( itemDoc, "/opt/ItemAttributes/Author", "" ); string binding = getNodeTextDef( itemDoc, "/opt/ItemAttributes/Binding", "" ); string label = getNodeTextDef( itemDoc, "/opt/ItemAttributes/Label", "" ); string newPrice = getNodeTextDef( itemDoc, "/opt/ItemAttributes/ListPrice/FormattedPrice", "" ); string imageUrl = getNodeTextDef( itemDoc, "/opt/ImageSets/SwatchImage/URL", "" ); string linkUrl = getNodeTextDef( itemDoc, "/opt/DetailPageURL", "" ); System.Console.WriteLine( asin ); System.Console.WriteLine( title ); System.Console.WriteLine( author ); System.Console.WriteLine( binding ); System.Console.WriteLine( label ); System.Console.WriteLine( newPrice ); System.Console.WriteLine( imageUrl ); System.Console.WriteLine( linkUrl ); |
サンプル中で使用しているgetNodeTextDef()については、このページを参照してください。
関連記事
コメントを残す