/ / з використанням амазонок пошуку не працює - php, web-сервіси, api, amazon

Використання пошукових амазонок не працює - php, web-services, api, amazon

Я зробив функцію, яка використовує такі ключові слова"Dell ноутбук x500" або щось, і він намагається його знайти. Я зробив hacky спосіб просто додати його до ключового слова пошуку URL, але це дасть мені різні результати в порівнянні, якщо я набрав текст у вікні пошуку і натиснув представити. Потім він захоплює перші посилання посилання назад. Іноді це працює правильно, а іноді це не так.

function getAmazonLink($keywords){
$keywords = preg_replace("/[^a-z0-9_s-]/", "%20", $keywords);
$link = "http://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=$keywords";
//return $link;
$content = getContents($link);
$doc = new DOMDocument();
$doc->loadHTML($content);
$as = $doc->getElementsByTagName("a");
foreach ( $as as $a){
if($a->parentNode->nodeName == "h3"){
if($a->parentNode->getAttribute("class") == "newaps"){
if($a->parentNode->parentNode->getAttribute("id") == "result_0"){

return $a->getAttribute("href");
}
}
}
}
return $link;

Відповіді:

0 для відповіді № 1

Amazon, як і багато інших інтернет-магазинів, будеадаптувати результати пошуку на основі вашої облікової "" покупки / історії пошуку. Оскільки ваш webapp не використовує зареєстрований акаунт Amazon, він отримує результати, які не пристосовані до будь-якої історії акаунта. У коментарях ви запитали, чи є спосіб "обійти це", але нічого не обійти - це дає ваші результати, але не ті, які пристосовані до облікового запису Amazon конкретної людини. Це очікуваний результат, а не помилка.