使用PHP从不同页面获取价格数据

时间:2017-05-07 10:59:48

标签: php html screen-scraping

从不同的网址获取数据并在我的网站上显示数据的正确方法是什么? 我使用hquery.php来抓取数据,它运行得很好。 但我想知道是否有比这更优化的方式:

<?php
    include_once 'hquery.php';
    $doc = hQuery::fromUrl('http://example.com/Product.aspx?PID=125');
    $price1 = $doc->find('.price');
    $doc = hQuery::fromUrl('http://example.com/Product.aspx?PID=156');
    $price2 = $doc->find('.price');
    ...
?>

<td>Product1</td>
<td><?php echo $price1 ?></td>

<td>Product2</td>
<td><?php echo $price2 ?></td>
...

我有十几个这样的网址,所以我知道应该有一个更快的方式,但我无法找到它。感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试将URL放在一个数组中,然后迭代它们:

      <?php 
        include_once 'hquery.php';
        $urls =array("http://example.com/Product.aspx?PID=125","http://example.com/Product.aspx?PID=156");
        $index = 1;
        foreach($url in $urls){
             $doc = hQuery::fromUrl($url);
             $price = $doc->find('.price');
             echo "<td>Product $index</td><td>$price</td>";
             $index += 1;
       }

       ?>

//编辑: 当然,这只会改进代码的编写方式,而不会实际加快页面速度。如果你想加快速度,自动获取数据,保存数据并查询你自己的数据库,其中包含你提取的信息。