Соскребите ценовой класс Div со страницы Php - PullRequest
2 голосов
/ 19 сентября 2011
<?php

    # don't forget the library
    include('simple_html_dom.php');

    # this is the global array we fill with article information
    $Prices = array();

    getPrices('http://www.google.com/search?q=xbox+360&tbm=shop&hl=en&aq=f');

function getPrices($page) {
    global $Prices, $descriptions;

    $html = new simple_html_dom();
    $html->load_file($page);

    $items = $html->find('div.psliprice');   

    foreach($items as $post) {
        # remember comments count as nodes
        $Prices[] = $post->children(0)->outertext;
    }
}

?>


<html>
<head>
    <style>
        #main {
            margin: 80px auto;
            width: 600px;
        }
        h1 {
            font: bold20px/30px verdana, sans-serif;
            text-decoration: none;
        }
        p {
            font: 10px/14px verdana, sans-serif;
    </style>
</head>
<body>
    <div id="main">
<?php
    foreach($Prices as $item) {
        echo $item[0];
        #echo $item[1];
    }
?>
    </div>
</body>
</html>

Вышеприведенное просто выводит: <<<<<<<<<< кто-нибудь знает, почему это происходит?

1 Ответ

1 голос
/ 19 сентября 2011

У вас есть синтаксическая ошибка:

$items = $html->find('div[class=psliprice]"');

Попробуйте вместо этого:

$items = $html->find('div[class="psliprice"]');

Кроме того (я могу ошибаться), разве у Google нет API для таких запросов?


Попробуйте вместо этого этот код:

$Prices[] = $post->children(0)->outertext;

И удалите строку echo $item[1];.

...