Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP从不同页面获取价格数据_Php_Html_Screen Scraping - Fatal编程技术网

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

使用PHP从不同页面获取价格数据,php,html,screen-scraping,Php,Html,Screen Scraping,从不同的URL获取数据并将其显示在我的网站上的正确方法是什么? 我使用hquery.php来刮取数据,它工作得非常好。 但我想知道是否有比这更优化的方法: <?php include_once 'hquery.php'; $doc = hQuery::fromUrl('http://example.com/Product.aspx?PID=125'); $price1 = $doc->find('.price'); $doc = hQuery::fro

从不同的URL获取数据并将其显示在我的网站上的正确方法是什么? 我使用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
产品2
...

我有十几个类似的URL,所以我知道应该有一个更快的方法,但我找不到。非常感谢您的帮助。

尝试将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;
       }

       ?>

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

这是最常见的方式,除非网站提供了公共api进行查询。如果您想大量处理数据,请使用后台脚本完成这项工作,并将信息存储在数据库中,然后从脚本中查询数据库。谢谢,我想在这种情况下我必须使用mysql。:)