Поскольку мой английский плохой, вопросы о названии могут быть немного раздражающими, но я уточню:
В начале моего 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('...');
Моей первой мыслью было каждый раз, когда я использую XPath-запрос по loadHTMLFile
, он вызывает целевой веб-сайт индивидуально - снова и снова. Это приведет к большому (ненужному) трафику и сильно замедлит мой скрипт.
Я немного погуглил, прочитал документацию , но оба, похоже, предполагают, что после того, как я позвонил на целевой веб-сайт в начале моего скрипта, он сохраняется до тех пор, пока скрипт выполняется, и каждый XPath- запрос только читает сохраненный контент.
Однако вчера я получил сообщение об ошибке loadHTMLFile
, сказав, что слишком часто звонил в последний час. Тем не менее, я только 10 раз обновлял свой сайт с помощью PHP-скрипта примерно за 10 часов. Это не часто, и в будущем я планирую ориентироваться примерно на 150–200 вызовов на веб-сайте в час.
Кто-нибудь, кто может прояснить проблему? И если содержание хранится, что было причиной ошибки? И есть ли обходной путь?