#php #function #html #curl
#php #функция #HTML #curl
Вопрос:
Я изучаю PHP, и я хотел бы знать, как автоматически загружать определенный DIV каждые один или два часа через cURL с веб-сайта.
Ответ №1:
Вы этого не делаете. Вы загружаете всю страницу целиком, затем анализируете ее для конкретного интересующего вас DIV.
Ответ №2:
НЕПРОВЕРЕНО (могут быть ошибки):
set_time_limit(3600*24); //24 hours
$numDownloads = 12;
for ($i = 0; $i < $numDownloads; $i )
{
$ch = curl_init('http://www.example.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
curl_close($ch);
if (preg_match('/<div>(.*?)</div>/i', $content, $matches))
{
$divContents = $matches[1];
$myFile = 'div'.$i.'.txt';
if ($fh = fopen($myFile, 'w'))
{
fwrite($fh, $divContents)
}
fclose($fh);
}
sleep(3600*2);
}
Я предлагаю вам прервать цикл и запустить его в задании cron….
Комментарии:
1. лол… Я полный нуб… как удалить цикл xD? — и могу ли я указать div?
2. Чтобы удалить цикл, вам нужно удалить этот код:
for ($i = 0; $i < $numDownloads; $i ) { }
. Div может быть указан в этой строке:if (preg_match('/<div>(.*?)</div>/i', $content, $matches))
. Единственная проблема в том, что ваш div должен иметь идентификатор или что-то уникальное в нем. Кроме того, вам действительно следует изучить основы PHP, прежде чем использовать этот код. Незнание того, как удалить цикл, только вызовет у вас больше головной боли позже.3. Спасибо за информацию… Я начал изучать его с помощью W3Schools 😉
4. Я бы держался подальше от этого человека.. Я не могу найти сообщение, в котором я нашел это здесь, но ознакомьтесь w3fools.com , у них есть куча допустимых точек.
Ответ №3:
Вы можете загрузить страницу с помощью cURL и проанализировать ее с помощью SimpleXML, чтобы найти то, что вам нужно.
SimpleXMLElement::xpath
возможно, это самый быстрый способ найти то, что вы ищете.