PHP:减少从外部资源获取内容的函数负载

PHP:减少从外部资源获取内容的函数负载,php,optimization,curl,memory-consumption,server-load,Php,Optimization,Curl,Memory Consumption,Server Load,我创建了一个函数,用于检查外部页面的标记是否包含标题其他部分之间的特定单词。如果检查为阳性,则应回显整个页面 它工作得很好。我关心的是内存消耗和服务器负载。问题是我无法缓存$html,因为它是一个活生生的东西。。有什么想法吗?我需要抓取整个页面才能访问页面吗?用其他方法代替cURL和file获取内容以减少服务器负载?还是我太在意了 注意:不要担心PHP版本没有限制,我正在使用安装了PHP5.5.7的VPS:D。我不知道它是否有用。。。但另一个似乎与你有关的问题似乎有很多答案。。。这里是链接 我想

我创建了一个函数,用于检查外部页面的标记是否包含标题其他部分之间的特定单词。如果检查为阳性,则应回显整个页面

它工作得很好。我关心的是内存消耗和服务器负载。问题是我无法缓存$html,因为它是一个活生生的东西。。有什么想法吗?我需要抓取整个页面才能访问页面吗?用其他方法代替cURL和file获取内容以减少服务器负载?还是我太在意了


注意:不要担心PHP版本没有限制,我正在使用安装了PHP5.5.7的VPS:D。

我不知道它是否有用。。。但另一个似乎与你有关的问题似乎有很多答案。。。这里是链接


我想你必须加载整个页面。您不知道标题标签的位置和长度,因此无法阅读前1000个字符。我不知道您要同时加载多少页,但您不会加载图像和css文件等整个媒体数据,因此您解析的HTML代码不应该太大。

我只加载网站一部分的简单方法是页眉:


如果服务器支持范围标头,则只返回前500个字节。不幸的是,这破坏了页面的标记,在使用DOMDocument时可能会导致错误。另一方面,当您只需要一个HTML元素的内容时,使用DOMDocument可能不是最好的主意。我建议使用简单的正则表达式或基本字符串函数。

我不确定,但我认为您的问题没有解决方案。其他问题的链接应该在Commentsorry中,尚未阅读相关内容。\。下次我不会再做了。谢谢你的回复!为什么会导致DOMDocument出现错误?
<?php

function file_get_contents_curl($url)
{
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

    $data = curl_exec($ch);
    curl_close($ch);

    return $data;
}

$html = file_get_contents_curl("http://www.lastfm.it/user/lorenzone92/now");

$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('title');

$title = $nodes->item(0)->nodeValue;

if (strpos($title,'in ascolto') !== false) {
echo "$title". '<br>';
}

?>
Range:  bytes=0-499