jalpy
@jalpy
sdfdfg

Как спарсить html страницу с помощью php?

Добрый день, собрал на арлуино проект,
На вебе показывает температуру, теперь надо через php надо спарсить каждые 3 секунды эту страницу и ложить в mysql, подскажите плз как на php это реализовать?
  • Вопрос задан
  • 1293 просмотра
Пригласить эксперта
Ответы на вопрос 5
@VovanZ
1. Достаёте страницу с помощью file_get_contents или curl
2. Вот список XML парсеров для PHP.
К сожалению, не знаю про них ничего (никогда не писал ничего подобного на пхп, я сам бы выбрал для этой задачи питон и lxml), но какой-нибудь из них точно умеет парсить html :)

А вообще, вы бы могли сделать ещё одну страничку, и отдавать там нужные данные в json, его намного проще парсить.
json_decode - и у вас готовый объект/массив (на выбор) c нужными данными.
Ответ написан
Curl и вся проблема решилась... неужели для такой ерунды надо качать какойто там крутой парсер... макс 30 строчек кода.
Ответ написан
Комментировать
@vdem
Ответ написан
Комментировать
нокогири - крутой парсер. Один из единственных умеет парсить неправильный HTML. Хотя Вам это и не нужно. Берите любой парсер!
Ответ написан
Для такой страницы достаточно чистого php с регулярками...

Один из примеров:

$page = file_get_contents('http://192.168.11.161');
preg_match_all('!(((\w+ )?\w+) \([A-Z%]\)): ([0-9.]+)!', $page, $matches);

$title = $matches[1];
$value = $matches[4];
$result = array_combine($title, $value);


echo '<pre>';
print_r($result);
echo '</pre>';


Если надо в каком-то другом виде, то достаточно поиграться с регуляркой ну и обработать ключи/значения, как надо...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы