【发布时间】:2018-07-25 12:28:56
【问题描述】:
我让 php AdvancedHTMLDOM 工作了很长时间。但是,大约一周前,我注意到我正在抓取的数据由于某种原因没有更新。
我手动运行脚本并收到以下错误:
root@telemetry:/home/telemetry/scripts/pressure# php -f get_pressure_nodes.php
PHP Fatal error: Uncaught Error: Class 'DOMDocument' not found in /home/telemetry/scripts/pressure/advanced_html_dom-master/advanced_html_dom.php:171
Stack trace:
#0 /home/telemetry/scripts/pressure/advanced_html_dom-master/advanced_html_dom.php(167): AdvancedHtmlDom->load('<html>\n<head>\n<...', false)
#1 /home/telemetry/scripts/pressure/advanced_html_dom-master/advanced_html_dom.php(747): AdvancedHtmlDom->__construct('<html>\n<head>\n<...')
#2 /home/telemetry/scripts/pressure/advanced_html_dom-master/advanced_html_dom.php(748): str_get_html('<html>\n<head>\n<...')
#3 /home/telemetry/scripts/pressure/get_pressure_nodes.php(17): file_get_html('get_pressure_no...')
#4 {main}
thrown in /home/telemetry/scripts/pressure/advanced_html_dom-master/advanced_html_dom.php on line 171
root@telemetry:/home/telemetry/scripts/pressure#
这是我的脚本(为了简单起见,我保留了基础知识,我还从某个我不记得的地方得到了这段代码,所以如果是你的,请通知我,以便我在应得的地方给予信任):
<?php
require('advanced_html_dom-master/advanced_html_dom.php');
$html = file_get_html('get_pressure_nodes.html');
$table = $html->find('table', 1);
$rowData = array();
foreach($table->find('tr') as $row)
{
// initialize array to store the cell data from each row
$temp = array();
foreach($row->find('td') as $cell)
{
// push the cell's text to the array
$temp[] = $cell->plaintext;
}
$rowData[] = $temp;
}
foreach ( $rowData as $cell_contents )
{
print ( $cell_contents ) ;
}
?>
【问题讨论】:
-
谢谢...修复了错误...(您能回答这个问题以便我标记它吗?)...
标签: php simple-html-dom