我使用DOMDocument
和DomXPath
来抓取网页内容并进行解析。它适用于单页,但是当我在循环中使用它50页时,它变得无法使用。
有更好的方法吗?
[更新] 这是我的代码
$start = microtime(true);
ini_set('max_execution_time', 600); //600 seconds = 10 minutes
$updaters = Updater::all();
$doc = new DOMDocument();
foreach($updaters as $updater) {
@$doc->loadHTMLFile($updater->link);
$finder = new DomXPath($doc);
$nodes = $finder->query($updater->grabber->linkgrab);
$links = array();
foreach($nodes as $node) {
$links[] = $node->nodeValue;
}
for($i = 0; $i < 50; $i++) {
@$doc->loadHTMLFile($links[$i]);
$finder = new DomXPath($doc);
$title = $finder->query('/html/head/title')->item(0)->textContent;