Php 使用简单的HTMLDOM抓取表

Php 使用简单的HTMLDOM抓取表,php,simple-html-dom,Php,Simple Html Dom,我正在努力刮这个产品表 我需要产品id、数量和价格 由于该网站使用cookies和post表单,我用CURL抓取该网站。这很好用。然后我用$html=str\u get\u html($content)将其加载到简单的HTMLDOM中 我已经能够将所有表值加载到一个数组中,但是我不能标记它们。它们只是以0,1,2的形式出现,我不知道是什么 我尝试使用stackoverflow上发布的另一个方法,但它给了我致命的错误:对中的非对象调用成员函数find() $line = $html->f

我正在努力刮这个产品表

我需要产品id、数量和价格

由于该网站使用cookies和post表单,我用CURL抓取该网站。这很好用。然后我用$html=str\u get\u html($content)将其加载到简单的HTMLDOM中

我已经能够将所有表值加载到一个数组中,但是我不能标记它们。它们只是以0,1,2的形式出现,我不知道是什么

我尝试使用stackoverflow上发布的另一个方法,但它给了我致命的错误:对中的非对象调用成员函数find()

 $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;
}
我的工作代码没有标记

$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>';

尝试初始化foreach函数的变量,然后使用代码。但你没有说是哪一行造成了这个错误

$item['sku']=$page->find('td',0)->纯文本;
 $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;
}