使用产品广告API提取亚马逊评级星和评级数

问题描述 投票:2回答:2

我知道以前曾经问过这个问题。我也明白有可能有办法解决这个问题。我在这里所追求的与已经被问到的不同(我相信)。

我所追求的是能够拉动星星,以及给定产品的评论数量而不会破坏亚马逊的TOS。

我不想显示所有评论以及它们允许您使用的iframe内部的评论。我能够显示iframe,但我不需要显示那么多信息。所以要清楚,我只想要明星和评论#(平均客户评论和评论数量)。

如果你想加倍努力并告诉我如何,我真的很感激知道如何通过PHP!如果这是针对服务条款的话,那就是我真正需要知道的。如果是的话,我会喜欢它,如果你能给我一个链接,说明它与TOS相反。

感谢您的帮助!它总是受到赞赏。

php amazon-web-services amazon-product-api
2个回答
1
投票

我不知道TOS,但要在php中做到这一点,如果没有官方api,你可以使用simple_html_dom:http://simplehtmldom.sourceforge.net/

<?php
define('MAX_FILE_SIZE', 6000000); 
include './simple_html_dom.php';

//Your product amazon's url
$url = 'https://www.amazon.com/SOL-REPUBLIC-1112-31-Headphones-1-Button/dp/B00COOVLMQ/ref=sr_1_1?s=fiona-hardware&ie=UTF8&qid=1470197678&sr=8-1&keywords=sol+republic';

$html = file_get_html($url);
$review_section = $html->find('#averageCustomerReviews',0);
$stars = $review_section->find('#reviewStarsLinkedCustomerReviews',0)->plaintext;
preg_match('/\d+\.{0,1}\d*/',$stars,$match);
echo "Stars: ".$match[0]; //Shoud be stars
echo "<br />";
$reviews = $review_section->find('#acrCustomerReviewText',0)->plaintext;
preg_match('/\d+/',$reviews,$match);
echo "Reviews: ".$match[0] //Shoud be reviews number
?>

我实际上尝试过它对我有用。


0
投票

PAPI无法做到这一点。您需要自己抓取它或使用其他第三方API。我们使用RapidAPI的amazon-price API,它支持单个请求中最多1000个产品的价格/评级/评论计数。

© www.soinside.com 2019 - 2024. All rights reserved.