如何使用 php 在 Amazon api 中访问 10 多个项目的详细信息?
Posted
技术标签:
【中文标题】如何使用 php 在 Amazon api 中访问 10 多个项目的详细信息?【英文标题】:How to access more than 10 item's detail in Amazon api using php? 【发布时间】:2013-04-17 20:36:00 【问题描述】:我正在使用 amazon api 并使用来自在线资源 http://www.codediesel.com/php/accessing-amazon-product-advertising-api-in-php/ 的代码。
当我使用 amazon api 进行搜索查询时,我想获得 10 多个产品的详细信息。我知道每次调用获取 10 个数据的 amazon api 政策,但是否可以通过创建循环或其他方式获取更多数据?
当我提出请求时,我已经分配了以下参数
$parameters = array("Operation" => "ItemSearch",
"SearchIndex" => "Electronics",
"ResponseGroup" => "Images,ItemAttributes,EditorialReview,Offers ",
"ItemPage"=>"10",
"Keywords" => $search );
因此,即使我要求了 10 页的结果,但我不确定如何显示每一页(1 到 10)的数据,所以当我进行查询时,我总共得到 100 个项目。当我尝试运行代码时,我得到以下响应:
SimpleXMLElement Object (
[Request] => SimpleXMLElement Object (
[IsValid] => True
[ItemSearchRequest] => SimpleXMLElement Object (
[ItemPage] => 10
[Keywords] => laptop
[ResponseGroup] => Array (
[0] => Images
[1] => ItemAttributes
[2] => EditorialReview
[3] => Offers
)
[SearchIndex] => Electronics
)
)
[TotalResults] => 3383691
[TotalPages] => 338370
[MoreSearchResultsUrl] => http://www.amazon.co.uk/gp/redirect.html?camp=2025&creative=12734&location=http%3A%2F%2Fwww.amazon.co.uk%2Fgp%2Fsearch%3Fkeywords%3Dlaptop%26url%3Dsearch-.................(and on)
)
【问题讨论】:
【参考方案1】:是的,您需要循环 10 次并附加一个数组或对象。 AWS 文档说 ItemPage
实际上是结果页面,因此您只需翻阅 10 次即可获得 100 个结果。
ItemPage
上的 AWS 文档:
http://docs.aws.amazon.com/AWSECommerceService/latest/DG/PagingThroughResults.html
$obj = new AmazonProductAPI();
$results = array();
for ($i=1;$i<=10;$i++)
$parameters = array("Operation" => "ItemSearch",
"SearchIndex" => "Electronics",
"ResponseGroup" => "Images,ItemAttributes,EditorialReview,Offers ",
"ItemPage"=>$i,
"Keywords" => $search);
$results[] = $obj->searchProducts($parameters);
foreach ($results as $r)
//do your stuff
【讨论】:
【参考方案2】:我们可以使用制造商参数和 BrowseNode 来检索特定类别中的 100 多种产品。
【讨论】:
以上是关于如何使用 php 在 Amazon api 中访问 10 多个项目的详细信息?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PHP 从 Amazon.com 页面获取图像和数据?