Вопрос про считываение показателей с веб-страницы

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

PavelK
Сообщения: 1
Зарегистрирован: Сб июн 03, 2017 11:00 pm
Благодарил (а): 0
Поблагодарили: 0

Вопрос про считываение показателей с веб-страницы

Сообщение PavelK » Сб июн 03, 2017 11:10 pm

Здравствуйте!
Только что наткнулся на данный интересный проект Majordomo. Установил его на ПК и захотел считывать показания температуры с моего IoT устройства на базе ES8266, подключенного к домашней wi-fi сети. И вот никак не могу найти на сайте и в форуме инструкцию: как разобрать веб-страницу и считать с нее число? Подскажите, пожалуйста, где про это можно почитать. Наверняка ведь это просто делается.

P.S. Текст на web-странице устройства такой:
-------------
ESP00191CBB
MaksMS wifi-iot.com
Free mode. Get Pro mode
Free memory: 38040 B.
Uptime: 0 day 01:36:21
VDD: 2919 mV. WIFI: -86 dBm.
Updated: 13:06:33 29.03.2017
Sensors:
DHT11/22 1:
Temperature: 23.0 °C. Humidity: 34.0 %.
1-Wire DS18B20:
1: 24.0 °C.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: Вопрос про считываение показателей с веб-страницы

Сообщение xor » Сб июн 03, 2017 11:38 pm

Посмотрите тему Веб-переменные http://majordomo.smartliving.ru/Main/ModuleWebvars
Но если вы используете прошивку wifi-iot.com, там, по-моему, есть интеграция с Мажордомо отдельной опцией.
C_3AXAPOB
Сообщения: 510
Зарегистрирован: Ср июн 08, 2016 4:17 pm
Благодарил (а): 124 раза
Поблагодарили: 101 раз

Re: Вопрос про считываение показателей с веб-страницы

Сообщение C_3AXAPOB » Вс июн 04, 2017 12:22 am

Никакие вебпеременные тут не нужны. Взаимодействие с прошивкой wifi-iot.com осуществляется через модуль ESP8266 (Wifi-IoT). Он есть в маркете дополнений.
Orange pi pc plus, megaD-2561, Xiaomi
--------------------------------------------------
http://connect.smartliving.ru/profile/908
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Вопрос про считываение показателей с веб-страницы

Сообщение savenko_egor » Вс июн 04, 2017 12:30 pm

Так а почему Вы официальный WIKI не читаете? Есть же информация: https://wifi-iot.com/p/wiki/24/
arivano
Сообщения: 19
Зарегистрирован: Пт авг 05, 2016 5:13 pm
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Re: Вопрос про считываение показателей с веб-страницы

Сообщение arivano » Вт июн 20, 2017 4:09 pm

В тему о веб-переменных вопрос.
Есть страница "https://www.gismeteo.ru/weather-snizhne-12016/"
пытаюсь достать с неё значение температуры, указывая в шаблоне поиска "js_meas_container temperature tab-weather__value" data-value='(.+?)'>", но не показывает значений.
Пробовал с другого сайта взять (rp5), но итог тот же.
Для проверки попытался взять информацию с любого адреса http, т.е. не https и все удалось.
Верно ли предположение, что проблема именно в этом?
Просто, используя онлайн калькулятор подсунул ему весь код страницы и указанный шаблон поиска и калькулятор нормально отработал. Или можно что-то доставить, чтобы нормально отрабатывало и с https страницами? Другие переменные все использую http.
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Вопрос про считываение показателей с веб-страницы

Сообщение savenko_egor » Вт июн 20, 2017 4:12 pm

Хм... Не знаю, у меня например всё отлично и по HTTPS работает:
СпойлерПоказать
Изображение
arivano
Сообщения: 19
Зарегистрирован: Пт авг 05, 2016 5:13 pm
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Re: Вопрос про считываение показателей с веб-страницы

Сообщение arivano » Вт июн 20, 2017 4:31 pm

warik писал(а):Хм... Не знаю, у меня например всё отлично и по HTTPS работает:
СпойлерПоказать
Изображение
Ну подскажи, плз, шаблон поиска у тебя такой, как я писал или что другое?
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Вопрос про считываение показателей с веб-страницы

Сообщение savenko_egor » Вт июн 20, 2017 4:42 pm

На этой странице: https://www.gismeteo.ua/weather-zaporizhzhya-5093/ выбираю температуру таким шаблоном:

Код: Выделить всё

<dd class='value m_temp c'>+(.+?)<span class="meas"> 
СпойлерПоказать
Изображение
Вот может поможет в поиске правильного выражения.
arivano
Сообщения: 19
Зарегистрирован: Пт авг 05, 2016 5:13 pm
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Re: Вопрос про считываение показателей с веб-страницы

Сообщение arivano » Вт июн 20, 2017 4:55 pm

warik писал(а):На этой странице: https://www.gismeteo.ua/weather-zaporizhzhya-5093/ выбираю температуру таким шаблоном:

Код: Выделить всё

<dd class='value m_temp c'>+(.+?)<span class="meas">
СпойлерПоказать
Изображение
Вот может поможет в поиске правильного выражения.
Спасибо за подсказку, но мне не помогло. Заметил, что у вас запрос к гисметео из зоны ua, у меня был прописан ru (сайты немного отличаются).
Подставил у себя зону ua, прописал ваш шаблон поиска, но ничего не показало. После попытался вообще ваши данные себе прописать, но информации о температуре так и не получил. Смотрю, у вас Debian стоит, как и у меня. Подозреваю, что именно в системе не хватает каких-то пакетов, что не осуществляет запроса по https.
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Вопрос про считываение показателей с веб-страницы

Сообщение savenko_egor » Вт июн 20, 2017 4:59 pm

Ну по сути самое минимальное что нужно, навскидку, это curl (так же скорее всего libcurl) и wget. Это неточно. Чисто на мой взгляд.
Как вариант попробуйте через консоль curl-ом стянуть сайт:

Код: Выделить всё

curl https://www.gismeteo.ru/weather-snizhne-12016/  
Если данные будут, значит доступ к сайту есть и проблем с этим нет. Я бы ещё попробовал создать php файл в котором открыть curl сессию и стянуть эту же ссылку. В таком случае Вы исключите проблему с PHP.

UPD:
Ну да, курла там очень много)))

Код: Выделить всё

apt-get install curl libcurl3 libcurl3-dev php5-curl -y
Ответить