Я использую Simple HTML DOM для очистки (с разрешения) некоторых веб-сайтов. Я в основном очищаю около 50 различных сайтов со статистическими данными, которые обновляются примерно четыре раза в день.Simple Html DOM Caching
Как вы можете себе представить, требуется время, чтобы выполнить очистку, и поэтому мне нужно ускорить процесс, выполнив некоторое кэширование.
Мое видение:
DATA-PRESENTATION.php // где все результаты показаны
SCRAPING.php // код, который делает работу
Я хочу установить вверх cron job на SCRAPING.PHP таким образом, чтобы он выполнялся 4 раза в день и сохранял все данные в caché, которые затем будут запрашиваться DATA-PRESENTATION.PHP, что ускоряет работу для пользователя.
Мой вопрос: как я могу реализовать эту вещь caché? Я очень новичок в PHP, я читал учебники, но они не очень полезны, и есть всего несколько, поэтому я просто не мог научиться этому.
Я знаю, что другое решение может быть реализовано в базе данных, но я не хочу этого делать. Кроме того, я читал о решениях высокого уровня, таких как memcached, но сайт очень прост и для личного использования, поэтому мне не нужны такие вещи.
Спасибо!
SCRAPING.PHP
<?php
include("simple_html_dom.php");
// Labour stats
$html7 = file_get_html('http://www.website1.html');
$web_title = $html7->find(".title h1");
$web_figure = $html7->find(".figures h2");
?>
ДАННЫХ PRESENTATION.PHP
<div class="news-pitch">
<h1>Webiste: <?php echo utf8_encode($web_title[0]->plaintext); ?></h1>
<p>Unemployment rate: <?php echo utf8_encode($web_figure[0]->plaintext); ?></p>
</div>
FINAL КОД! Большое спасибо @jerjer и @ PaulD.Waite, я не мог этого сделать без вашей помощи!
Файлы:
1- DataPresentation.php // здесь я показать данные, запрашиваемые в Cache.html
2- Scraping.php // здесь я скрести сайты, а затем сохранить результаты Cache.html
3- Cache.html // здесь очищающие результаты сохраняются
Я настроил Cron Job на Scraping.php, чтобы он каждый раз перезаписывал Cache.html.
1- DataPresentation.php
<?php
include("simple_html_dom.php");
$html = file_get_html("cache/test.html");
$title = $html->find("h1");
echo $title[0]->plaintext;
?>
2- Scraping.php
<?php
include("simple_html_dom.php");
// by adding "->find("h1")" I speed up things as it only retrieves the information I'll be using and not the whole page.
$filename = "cache/test.html";
$content = file_get_html ('http://www.website.com/')->find("h1");
file_put_contents($filename, $content);
?>
3- кэша.HTML
<h1>Current unemployment 7,2%</h1>
Он загружает сразу и установив вещи таким образом, я гарантировать, всегда есть Caché файл, который будет загружен.
вы можете использовать файл вместо базы данных для кэширования – jerjer