2014-01-18 40 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