在单个PHP脚本中多久一次调用一次loadHTMLFile?

时间:2018-06-25 08:09:43

标签: php domdocument

由于我的英语不好,因此标题问题可能会有些恼人,但我会具体说明:

在我的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个网站呼叫。

有人可以澄清这个问题吗?如果存储了内容,则错误的原因是什么?那有解决方法吗?

1 个答案:

答案 0 :(得分:0)

使用previousbtn加载一次HTML:

file_get_contents()