Я пытаюсь получить цену из интернет-магазина.
Здесь я использую этот код..
<?php
function getPrice($site){
$html = file_get_contents($site);
$dom = new DOMDocument();
$dom->loadHTML($html);
$contents = $dom->document.getElementsByTagName("span");
$price = "";
for($i = 0; $i < $contents->length; $i++){
$content= $contents->item($i);
if($content->getAttribute('class') == "fk-font-verybig pprice vmiddle fk-bold"){
$price = $content->getAttribute('value');
}
}
echo $price;
}
$website = "http://www.flipkart.com/sogo-ss-5365-750-w-pop-up-toaster/p/itmdz3hgfjzgfp4v?pid=PUTDYWT2UHPCDCG8&offer=DOTDOnPopUpToaster_Sep2.&icmpid=hp_dotd_3_DOTDOnPopUpToaster_Sep2.";
getPrice($website);
?>
мой скрипт возвращает ошибку
Предупреждение: DOMDocument::loadHTML(): неожиданный конечный тег: span в Entity, строка: 261 в E:\Local server\htdocs\store\scripts\getprice.php в строке 5
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: no name in Entity, line: 293 in E:\Local server\htdocs\store\scripts\getprice.php on line 5
...................................................................
Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, line: 6160 in E:\Local server\htdocs\store\scripts\getprice.php on line 5
Notice: Undefined property: DOMDocument::$document in E:\Local server\htdocs\store\scripts\getprice.php on line 6
Fatal error: Call to undefined function getElementsByTagName() in E:\Local server\htdocs\store\scripts\getprice.php on line 6
Можно ли получать такую цену, потому что магазин постоянно меняет цену своего продукта. Есть ли другой альтернативный способ сделать это?
Повлияет ли этот сценарий на производительность моего сервера, потому что каждый раз, когда пользователь посещает страницу продукта на моем веб-сайте, он будет получать цены из 5 разных магазинов для сравнения цен.