2014-04-24 2 views
1

Я пытаюсь скрести этот продукт стол,Зачистка таблицы с помощью простого HTML Dom

http://www.dropforyou.com/search2.php?mode=search&posted_data%5Bcategoryid%5D=2&posted_data%5Bsearch_in_subcategories%5D=on

мне нужна идентификатор продукта, количество и цена.

Поскольку сайт использует файлы cookie и форму сообщения, я захватываю сайт CURL. Что хорошо работает. Затем я загружаю это в простой html dom с помощью $ html = str_get_html ($ content);

Мне удалось загрузить все значения таблиц в массив, однако я не могу их пометить. Они просто входят в число 0,1,2, и я не могу сказать, что к чему.

Я попытался с помощью другого метода размещены здесь на StackOverflow, но это дает мне Фатальная ошибка: Вызов функции члена находке() на не-объект в

Мой рабочий код, который не меченого

$content = curlscraper($urltoscrape); 

$html = str_get_html($content); 

$tds = $html->find('table',2)->find('td'); 

$num = NULL; 
foreach($tds as $td) 
{ 
    $num[] = $td->plaintext; 
} 

echo '<pre>'; 
var_dump ($num); 
echo '</pre>'; 

код я нашел на Stackoverflow, что просто дает мне Фатальная ошибка: Вызов функции члена находке() на не-объект в

$content = curlscraper($urltoscrape); 

$html = str_get_html($content); 

foreach($html->find('tr',2) as $page) 
{ 
$item['sku'] = $page->find('td',0)->plaintext; 
$item['product'] = $page->find('td',1)->plaintext; 
$item['Qty'] = $page->find('td',2)->plaintext; 
$item['description'] = $page->find('td',3)->plaintext; 
$item['price'] = $page->find('td',4)->plaintext; 

$table[] = $item; 
} 

print_r($table); 

ответ

0

Попробуйте инициализировать переменную ваша функция foreach, а затем используйте свой код. Но вы не говорите, какая строка создала эту ошибку?

$line = $html->find('tr',2); 

foreach($line as $page) 
{ 
//var_dump($page) //You can check array 
$item['sku'] = $page->find('td',0)->plaintext; 
$item['product'] = $page->find('td',1)->plaintext; 
$item['Qty'] = $page->find('td',2)->plaintext; 
$item['description'] = $page->find('td',3)->plaintext; 
$item['price'] = $page->find('td',4)->plaintext; 

$table[] = $item; 
} 
+0

$ item ['sku'] = $ page-> find ('td', 0) -> plaintext; – user1155594

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