0

私は非常に単純なことをしようとしています。Amazonで検索して、商品、説明、価格を含むXMLを返す必要があります。送信する最終アドレスは次のとおりです。

http://webservices.amazon.com/onca/xml?AWSAccessKeyId=[MYKEYID]&AssociateTag=[MYASSOCIATION-TAG]&Keywords=Wireless%2520headset%2520xbox&Operation=ItemSearch&ReponseGroup=Full&SearchIndex=ALL&Service=AWSECommerceService&Timestamp=2013-01-29T21%3A04%3A49Z&Version=2011-08-01&Signature=[MY SIGNATURE]

そして私は価格を除いてほとんどすべてを手に入れています:

<XML .... >
<item>...</item>
<Item><ASIN>B003ZSP0WW</ASIN><ParentASIN>B001ELJPOQ</ParentASIN><DetailPageURL>http://www.amazon.com/Xbox-360-Wireless-Controller-Glossy-Black/dp/B003ZSP0WW%3FSubscriptionId%3DAKIAJZRJGNZYA3M3E75Q%26tag%3DEBAZONSALE-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB003ZSP0WW</DetailPageURL><ItemLinks><ItemLink><Description>Technical Details</Description><URL>http://www.amazon.com/Xbox-360-Wireless-Controller-Glossy-Black/dp/tech-data/B003ZSP0WW%3FSubscriptionId%3DAKIAJZRJGNZYA3M3E75Q%26tag%3DEBAZONSALE-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB003ZSP0WW</URL></ItemLink><ItemLink><Description>Add To Baby Registry</Description><URL>http://www.amazon.com/gp/registry/baby/add-item.html%3Fasin.0%3DB003ZSP0WW%26SubscriptionId%3DAKIAJZRJGNZYA3M3E75Q%26tag%3DEBAZONSALE-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB003ZSP0WW</URL></ItemLink><ItemLink><Description>Add To Wedding Registry</Description><URL>http://www.amazon.com/gp/registry/wedding/add-item.html%3Fasin.0%3DB003ZSP0WW%26SubscriptionId%3DAKIAJZRJGNZYA3M3E75Q%26tag%3DEBAZONSALE-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB003ZSP0WW</URL></ItemLink><ItemLink><Description>Add To Wishlist</Description><URL>http://www.amazon.com/gp/registry/wishlist/add-item.html%3Fasin.0%3DB003ZSP0WW%26SubscriptionId%3DAKIAJZRJGNZYA3M3E75Q%26tag%3DEBAZONSALE-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB003ZSP0WW</URL></ItemLink><ItemLink><Description>Tell A Friend</Description><URL>http://www.amazon.com/gp/pdp/taf/B003ZSP0WW%3FSubscriptionId%3DAKIAJZRJGNZYA3M3E75Q%26tag%3DEBAZONSALE-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB003ZSP0WW</URL></ItemLink><ItemLink><Description>All Customer Reviews</Description><URL>http://www.amazon.com/review/product/B003ZSP0WW%3FSubscriptionId%3DAKIAJZRJGNZYA3M3E75Q%26tag%3DEBAZONSALE-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB003ZSP0WW</URL></ItemLink><ItemLink><Description>All Offers</Description><URL>http://www.amazon.com/gp/offer-listing/B003ZSP0WW%3FSubscriptionId%3DAKIAJZRJGNZYA3M3E75Q%26tag%3DEBAZONSALE-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3DB003ZSP0WW</URL></ItemLink></ItemLinks><ItemAttributes><Manufacturer>Microsoft Software</Manufacturer><ProductGroup>Video Games</ProductGroup><Title>Xbox 360 Wireless Controller - Glossy Black</Title></ItemAttributes>
</Item>

助けてください、製品の価格も表示するにはどうすればよいですか?アマゾンから価格を解析する簡単な方法はありますか?

ありがとうございました!

4

1 に答える 1

0

そこに変更し&ReponseGroup=Full&ReponseGroup=Largeみると、データ全体が得られますが、価格も含まれています。attaributesタグになります。

注:変更して&ReponseGroup=Smallみるとデータが少なくなりますが、価格がわかりません。

これがAmazonProductAdvertisingAPIのコードです

<?php
error_reporting(0);

define('AWS_API_KEY', 'your key');
define('AWS_API_SECRET_KEY', 'your key');
define('AWS_ASSOCIATE_TAG', 'your tag');
define('AWS_ANOTHER_ASSOCIATE_TAG', '');

define('PRODUCT_NUMBER', 20);

  require('./lib/AmazonECS.class.php');


$category                   = $_REQUEST['category'];
$search                     = $_REQUEST['search'];
$page                       = (isset($_REQUEST['page']) && $_REQUEST['page'] != 0)?$_REQUEST['page']:1;

try
{
    $amazonEcs              = new AmazonECS(AWS_API_KEY, AWS_API_SECRET_KEY, 'com', AWS_ASSOCIATE_TAG);

    $amazonEcs->associateTag(AWS_ASSOCIATE_TAG);
    $amazonEcs->returnType(AmazonECS::RETURN_TYPE_ARRAY);

    $response               = $amazonEcs->responseGroup('Large')->page(1)->category($category)->search($search);
    $page_count             = ceil(PRODUCT_NUMBER/10);
    $page_offset            = ($page-1)*$page_count+1;
    if($response['Items']['TotalPages'] <= $page_count){
         $page_count        = $response['Items']['TotalPages'];
    }
    $array_result           = array();
    for($i=$page_offset; $i<($page_count+$page_offset); $i++){
        $response_nxt       = $amazonEcs->responseGroup('Large')->page($i)->category($category)->search($search);
        $result_temp        = array_merge($array_result, $response_nxt['Items']["Item"]);
        $array_result       = $result_temp;
    }
    echo "<pre>";
    print_r($array_result);

}
catch(Exception $e)
{
  echo $e->getMessage();
}
?>
于 2013-01-30T07:37:20.720 に答える