我想从某个网站中获取一些日期,以供以下页面参考:Roskilde Festival Wiki 我正在使用简单的dom解析器,并具有以下php页面:
<?php
require "HtmlDomParser.php";
use Sunra\PhpSimple\HtmlDomParser;
$html = HtmlDomParser::file_get_html('https://en.wikipedia.org/wiki/Roskilde_Festival');
$table = $html->find('.wikitable',1);
$rowData = array();
foreach($table->find('tr') as $row) {
$data= array();
foreach($row->find('td') as $columnNumber => $cell) {
$columnNumbers = [ 1, 2 ];
// push the cell's text to the array
if ( in_array( $columnNumber, $columnNumbers ) ) {
$text = $cell->plaintext;
$data[] = explode("[",$text)[0];
}
}
$rowData[] = $data;
}
echo '<table>';
foreach ($rowData as $row => $tr) {
echo '<tr>';
foreach ($tr as $td)
echo '<td>' . $td .'</td>';
echo '</tr>';
}
echo '</table>';
?>
它给了我我所需要的: 2013年6月29日至7月7日 2014年6月29日至7月6日 2015年6月27日– 7月4日 2016年6月25日– 7月3日 2017年6月24日至7月1日 2018年6月30日-7月7日
但是我也得到这个错误: 致命错误:在第140行的C:\ sample \ simplehtmldom_1_5 \ simple_html_dom.php中,超过30秒的最大执行时间
我可以做些什么来使其更快,并且我希望能最多2秒。 我是否需要运行可保存数据的cron作业,还是有更快的方法?
答案 0 :(得分:0)
我已经复制了您的代码,并从github存储库中使用了该HtmlParser的最新版本。对我来说,您的代码将在两秒钟内运行。
我想,您已启用xdebug。这通常会导致这种性能缺陷。尝试不使用xdebug。
如果您已经禁用了xdebug,那么您正在运行哪个PHP版本?