1

使用 php,我试图获取网页上列出的所有内容的价格。有人可以帮我正确地写这个吗?我很确定我写错了 foreach 行是因为与 $listing 有关吗?另外我不确定长部分的编写方式是否正确,将名称和价格放入 $name 和 $price 变量中?

<?php
$all = file_get_contents('http://shop.hobbylobby.com/search/?keyword=cricut%20cartridge&match=AND&F_Sort=2&F_ALL=Y');
echo $all;
$name = array();
$price = array();
foreach($all as $listing) {
$name[] = $listing.GetElementsByClassName("listingWrpr").GetElementsByTagName("h3").innerhtml;
$price[] = $listing.GetElementsByClassName("listingWrpr").GetElementsByClassName("item price").innerhtml;
}
print_r($name);
print_r($price);
?>
4

1 回答 1

1

您必须使用以下任何一种替代方法。

  1. 简单的 html dom 解析器
  2. PHP查询
  3. 史努比

这些是PHP计算表格行数的脚本,您也可以将其作为jQuery函数使用。

我在简单的 html dom 解析器的帮助下给你一个例子。

 include("../simplehtml/simple_html_dom.php");


$html = file_get_html("YOUR URL");
foreach ($html->find('.logo') as $e) {
        $obj = str_get_html($e);
        foreach ($obj->find('img') as $ea) {
            $logoImage =  $e->innertext;
        }
    }

希望这可以帮助。

于 2013-07-15T09:25:53.003 回答