Получение рейтинга Amazon и подсчет рейтинга с помощью API рекламы продукта

Я понимаю, что об этом уже спрашивали. Я также понимаю, что, вероятно, есть способ это исправить. То, что я после здесь, отличается от того, что уже было задано (я верю).

Что мне нужно, так это возможность потянуть только звезды, и количество отзывов о данном продукте, БЕЗ взлома TOS Amazon.

Я не хочу отображать все отзывы и тому подобное, которые находятся внутри фрейма, которые они позволяют вам использовать. Я могу отобразить iframe, но мне не нужно отображать столько информации. Итак, чтобы быть ясным, я просто хочу звездочек и количество отзывов (средний обзор клиентов и количество отзывов).

Если вы хотите пройти лишнюю милю и рассказать мне, как, я бы очень хотел знать, как с помощью PHP! Если это против TOS, это все, что мне действительно нужно знать. Если это так, я бы с удовольствием, если бы вы могли предоставить мне ссылку, где говорится, что это против TOS.

Спасибо за любую помощь! Это всегда ценится.

2

Решение

Я не знаю о 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
?>

Я действительно пытался, и это работает для меня.

1

Другие решения

Других решений пока нет …