2017-05-07 22 views
0

從不同URL獲取數據並在我的網站上顯示數據的正確方法是什麼? 我使用hquery.php來抓取數據,它工作得很好。 但我想知道是否有比這樣做更優化的方式:使用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> 
... 

我有十幾個網址,就像那些讓我認識更多的應該有一個更快的方法,但我找不到它。任何幫助表示讚賞,謝謝。

+2

這是最常見的方式,除非網站提供公共API來查詢。如果要批量處理數據,請使用後臺腳本執行作業並將信息存儲在數據庫中,然後通過腳本查詢數據庫。 – Gntem

回答

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; 
     } 

     ?> 

//編輯: 當然,這隻會提高代碼編寫的方式,並沒有真正加快頁面。如果你想加快速度,自動獲取數據,保存並查詢你自己的數據庫,包含你所獲取的信息。

+0

謝謝,我想我在這種情況下必須使用mysql。 :) – 0x17