由于我的英语不好,因此标题问题可能会有些恼人,但我会具体说明:
在我的PHP脚本的开头,我调用一个HTML文件以借助XPath来获取内容。
$url = "http://www....";
$html = new DOMDocument();
libxml_use_internal_errors(true);
$html->loadHTMLFile($url);
$xpath = new DOMXPath($html);
libxml_clear_errors();
我从中获取内容的目标网站有很多我需要的信息,但是我必须执行几个不同的XPath查询(准确地说是30个)。
$xpath_match = $xpath->query('...');
我的第一个想法是,每次我使用loadHTMLFile
的XPath查询时,都会一次又一次地调用目标网站。这将导致大量(不必要的)流量,并严重降低我的脚本的速度。
我用Google搜索了一下,读了documentation,但是两者似乎都表明,一旦我在脚本开始处调用目标网站,就会在脚本运行时将其存储起来,并且每个XPath查询都只是读取存储的内容。
但是,昨天我遇到一个关于loadHTMLFile
的错误,说我在过去一小时内经常打电话。不过,在该特定小时内,我仅用PHP脚本刷新了我的网站约10次。这种情况并不常见,我的目标是将来每小时大约有150至200个网站呼叫。
有人可以澄清这个问题吗?如果存储了内容,则错误的原因是什么?那有解决方法吗?
答案 0 :(得分:0)
使用previousbtn
加载一次HTML:
file_get_contents()