Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php DOMXPath解析url的速度很慢';s_Php_Dom_Xpath_Domxpath - Fatal编程技术网

Php DOMXPath解析url的速度很慢';s

Php DOMXPath解析url的速度很慢';s,php,dom,xpath,domxpath,Php,Dom,Xpath,Domxpath,我试图解析几个url,只是想看看是否存在某个div id。首先我尝试使用simplehtmldom,但速度非常慢,所以我最近尝试的是domxpath。加载页面所需的时间大致相同。我对这一切都很陌生,所以我不知道解析有什么限制。您会注意到,在我的代码中,我使用unset尝试在每次循环之后清除内存。这对性能没有任何影响,但我只是保留了它,因为它不会影响任何东西,我不确定是否有必要在那里 所以..我的问题是,看看下面的代码,我能做些什么来更快地解析这些url吗?还有,解析50个url是不是我想做的事情

我试图解析几个url,只是想看看是否存在某个div id。首先我尝试使用simplehtmldom,但速度非常慢,所以我最近尝试的是domxpath。加载页面所需的时间大致相同。我对这一切都很陌生,所以我不知道解析有什么限制。您会注意到,在我的代码中,我使用unset尝试在每次循环之后清除内存。这对性能没有任何影响,但我只是保留了它,因为它不会影响任何东西,我不确定是否有必要在那里

所以..我的问题是,看看下面的代码,我能做些什么来更快地解析这些url吗?还有,解析50个url是不是我想做的事情太多了?先谢谢你

<?php
    require_once("include.all.php");
    if ( !class_exists( "Standings" ) ) {
        Class Standings {
            public static function Status( $url ) {
                $html = file_get_contents($url);        
                $doc = new DOMDocument;
                $previous_value = libxml_use_internal_errors(TRUE);
                $doc->Loadhtml($html);
                libxml_clear_errors();
                libxml_use_internal_errors($previous_value);
                $element = $doc->getElementById( 'cams_view_top' );
                if ( $element == null ) {
                    echo "<img src='images/offline.fw.png'/>";
                    unset( $doc,$html );
                } else {
                    echo "<img src='images/online.fw.png'/>"; 
                    unset( $doc,$html );
                }
            }
        }
    }
?>   

您是否尝试过使用脚本只解析一个url来测量时间?可能是某个特定url的获取和处理时间太长。那些文件格式正确吗?。另外,您的描述很清楚,但是这个想法似乎没有多大意义,为什么要解析那么多URL/页面来找到那个div?多长是“很长”?哪个部分需要很长时间(获取网站、解析网站、查询网站)?你是否考虑过并行化执行?