2014-01-18 81 views
1

我在寫這個PHP來讀取來自以下網站的數據,並將其寫入數據庫。使用PHP簡單的HTML獲取表值DOM

下面的代碼:

<?php 
require('simple_html_dom.php'); 
$html = file_get_html('http://backpack.tf/pricelist/spreadsheet'); 
$data = $html->find('.table tr td[1]'); 
foreach($data as $result) 
{ 
echo $result->plaintext . '<br />'; 
} 
?> 

我打算讓在TRS內TDS乃至屬性中的所有數據。
所以,我試着先讓它們以純文本格式。 到目前爲止代碼返回:

Fatal error: Call to a member function find() on a non-object

我該如何解決和改進代碼?

+0

電子表格有多大? 'file_get_html()'對它將要處理的文件大小有限制。 – Barmar

+0

但爲什麼它不是一個對象?它適用於谷歌(對不起,如果我太菜鳥) – user2975716

+0

這可能是您請求的網站不能通過PHP請求(有時是這種情況)。編輯:它返回頁面 –

回答

1

以下代碼適用於您的示例。 這可能是您的執行腳本的內存限制造成麻煩。

ini_set('memory_limit','160M'); 
require('simple_html_dom.php'); 
$url = 'http://backpack.tf/pricelist/spreadsheet'; 

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

$data = $html->find('.table tr td[1]'); 
foreach($data as $result) 
{ 
    echo $result->plaintext . '<br />'; 
} 
+0

謝謝!我從來沒想過這點。 – user2975716