2016-08-03 3 views
2

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

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

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

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

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

ответ

0

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

, показывая «Неустранимая ошибка: вызов функции-члена find() для объекта, не являющегося объектом» Я загрузил 'simple_html_dom' –

+0

@fool Я тестировал снова, и я все еще получаю звезды и рейтинг ... Проверьте свое включение' simple_html_dom' и требуемые функции, такие как 'file_get_contents'. Я тестировал этот скрипт только на страницах amazon.com, и он работает только на странице, где рядом с названием объявлено количество обзоров и звезд. EDIT: Просто попробовал на amazon.it, работает. –

+0

Я думаю, что это не законный способ вытягивать средние звездные рейтинги AWS, потому что они не предоставили никакой группы ответов или элементов для этого, только при условии, что iframe url –

Смежные вопросы