2014-01-18 3 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 />'; 
} 
?> 

Я намеревался получить все данные в с.в. и даже атрибута внутри ТРС.
Итак, я попытался получить их в виде простого текста. До сих пор возвращает код:

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

Как я могу решить и улучшить код?

+0

Насколько велика электронная таблица? 'file_get_html()' имеет ограничение на размер файла, который будет обрабатываться. – Barmar

+0

, но почему это не объект? он работает для google (извините, если я слишком noob) – 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

Смежные вопросы