Необходимо получить содержимое div с нескольких сайтов - PullRequest
0 голосов
/ 28 августа 2010

Я бы хотел получить цены на продукты из newegg.Вот пример сайта

http://www.newegg.com/Product/Product.aspx?Item=**N82E16820167027**

с этого сайта, я хотел бы получить содержание <div class="grpPricing">, содержащее цену.

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

 function getprice($itemId) {
    $source=trim("http://www.newegg.com/Product/Product.aspx?Item=".$itemId);

    preg_match("'<div class=\"grpPricing\">(.*?)</div>'si", $source, $match);
    if($match) 
       echo "result=".$match[1];
 }

$itemId дано, вот как я могу сделать скрипт, который зацикливаетсячерез несколько продуктов Newegg и получает необходимую информацию

ПРИМЕЧАНИЕ: это не позволит мне опубликовать код, как это действительно должно быть, не знаю почему, может быть, потому что я не зарегистрирован?!

и есть еще одинпроблема, которую я не могу решить ... вывод кода должен быть:

return strip_tags($price);

просто потому, что позже я бы вызвал функцию с этой строкой

$price=getprice($row['newegg_productid']);

Я старался изо всех сил, чтобыОбъясни четко, но дай мне знать, если у тебя проблемы с пониманием.любая помощь высоко ценится, спасибо!

1 Ответ

1 голос
/ 28 августа 2010

Для вашего старта:

<?php
function get_string_between($string, $start, $end)
{
    $string = " ".$string;
    $ini = strpos($string,$start);
    if ($ini == 0)
        return "";
    $ini += strlen($start);
    $len = strpos($string,$end,$ini) - $ini;
    return substr($string,$ini,$len);
}
$data = file_get_contents("http://www.newegg.com/Product/Product.aspx?Item=N82E16820167027");

$pricediv = get_string_between($data, '<div class="grpPricing">', '<div class="grpAction">');

$pricetext = strip_tags($pricediv);

echo $pricetext;
?>
...