我正在使用simplehtmldom抓取一个网页。在小桌子上一切正常。但是,我正在抓的其中一个表有超过9000个条目。这个大数字给了我以下错误:
PHP Fatal error: Call to a member function find() on boolean in domtest.php on line 4
我使用的代码来自一个类似的线程(不记得从哪一个,所以如果这个代码是你的,请让我知道,所以我可以给你信用。)
<?php
// LEGAL: This code is not mine, I found it on https:stackoverflow.com
require('simplehtmldom/simple_html_dom.php');
$html = file_get_html('node_list.html');
$table = $html->find('table', 1);
$rowData = array();
foreach($table->find('tr') as $row)
{
// initialize array to store the cell data from each row
$flight = array();
foreach($row->find('td') as $cell)
{
// push the cell's text to the array
$flight[] = $cell->plaintext;
}
$rowData[] = $flight;
}
print_r ( $rowData ) ;
?>
我从命令行运行此脚本。我尝试使用-d memory_limit=128M
在php.ini和命令行中增加内存大小。如果我将文件拆分成较小的块然后我没有得到错误,它的工作绝对精彩,但作为一个文件,我得到如上所述的错误。我的脚本名称是&#34; domtest.php&#34;。
有什么想法吗?
谢谢
丹尼