Страница 12 из 12
Re: [Модуль] Веб-переменные (webvars)
Добавлено: Ср янв 05, 2022 7:43 pm
Jilber
А если попробовать так:
Ссылка: "
https://rp5.ru/Погода_в_Тамбове" (именно кириллицей).
Шаблон поиска: "<div id="forecastShort-content">(.+?) <div id="windHint" class="cold dangerHint">"

- rp5-2.jpg (208.42 КБ) 3713 просмотров
Re: [Модуль] Веб-переменные (webvars)
Добавлено: Пт янв 07, 2022 3:39 pm
prmres
а зачем вообще погоду веб-переменными мучать если есть модуль openweather ???
Re: [Модуль] Веб-переменные (webvars)
Добавлено: Пн фев 07, 2022 12:04 pm
CheBuraw
Jilber писал(а): Ср янв 05, 2022 7:43 pm
А если попробовать так:
Ссылка: "
https://rp5.ru/Погода_в_Тамбове" (именно кириллицей).
Шаблон поиска: "<div id="forecastShort-content">(.+?) <div id="windHint" class="cold dangerHint">"
Jilber, спасибо! Так всё заработало. Я почему-то о таком варианте не подумал даже
prmres писал(а): Пт янв 07, 2022 3:39 pm
а зачем вообще погоду веб-переменными мучать если есть модуль openweather ???
Мне интересен именно такой формат: Сегодня ожидается...
openweather не показывает в таком виде (ну или я не увидел). Так же он очень много данных собирает и объектов дофига создает. Плюс нужно API регистрировать. Понимаю, что всё это фигня на самом деле и чисто мои заморочки.
У меня просто есть своя метеостанция данные с которой выводятся на монике в прихожей. Таким образом отражается фактическая погода.
РП5 среди прочих сервисов (по крайней мере в моем месте проживания) показывает достаточно точный прогноз. Да и из всего прогноза мне достаточно этой строки: "Сегодня ожидается .... Завтра: ..."
Re: [Модуль] Веб-переменные (webvars)
Добавлено: Чт июл 28, 2022 10:38 pm
zemyat
Помогите пожалуйста с регулярным выражением
https://app.weathercloud.net/d5904597256#profile куда попадает данные с локальной метеостанции (без авторизации)
С этого сайта требуется получить текущую температуру, скорость и направление ветра, и значение tittle на картинке облачности
<span id="temp_cur">15</span>
<span id="wspd_cur">1</span>
<span id="wdir_cur">NW</span>
<a id="present-weather-string" rel="tooltip" title="" data-original-title="малооблачно">
Мои попытки получить данные запаролись на первом этапе получение текущей температуры.
Пробовал:
<span id="temp_cur">(.+?)</span>
<span id="temp_cur">(/d+)</span>
<.*>(.*)°C<.*>
(/d+)°C
Пишет INCORRECT VALUE:
Re: [Модуль] Веб-переменные (webvars)
Добавлено: Чт июл 28, 2022 11:16 pm
fandaymon
zemyat писал(а): Чт июл 28, 2022 10:38 pm
Помогите пожалуйста с регулярным выражением
https://app.weathercloud.net/d5904597256#profile куда попадает данные с локальной метеостанции (без авторизации)
С этого сайта требуется получить текущую температуру, скорость и направление ветра, и значение tittle на картинке облачности
<span id="temp_cur">15</span>
<span id="wspd_cur">1</span>
<span id="wdir_cur">NW</span>
<a id="present-weather-string" rel="tooltip" title="" data-original-title="малооблачно">
Мои попытки получить данные запаролись на первом этапе получение текущей температуры.
Пробовал:
<span id="temp_cur">(.+?)</span>
<span id="temp_cur">(/d+)</span>
<.*>(.*)°C<.*>
(/d+)°C
Пишет INCORRECT VALUE:
Сайт заполняет значения при помощи js скрипта - обычным GET данные с него не получишь, на момент запроса их на странице просто нету
Можно извращаться с помощью питона
Код: Выделить всё
import requests
cookies = {
'PHPSESSID': 'f827955883fc9212d47fea2aed5a996e',
'WEATHERCLOUD_CSRF_TOKEN': 'ecaa6741b9cb21a665c36872da01f19a0b9c8a55s%3A88%3A%22MW1uTmQ1Yk5CfmNQNElIME1OWHZCU2lScGFZcHBpMHLtox5-6T8ZtQKfvzXtR2wk3VJIc35xZq2x9uCsDruxGA%3D%3D%22%3B',
'_ga': 'GA1.2.1415913915.1659038309',
'_gid': 'GA1.2.1003055442.1659038309',
'__gads': 'ID=aa5d54ed2668e683-22dfc3d081d4003d:T=1659038309:RT=1659038309:S=ALNI_Ma88ofIz3W-KMH1uaBcrqAEh2G8-A',
'_gat': '1',
'WEATHERCLOUD_RECENT_ED3C8': 'f6ca7a274ff0eed723ced7339a4024019b1d2680s%3A97%3A%226ef64e9a65d7df2b10dee00bf32d2d190a9a28aa%7B%22_devices%22%3A%22%7B%5C%225904597256%5C%22%3A1659038816%7D%22%2C%22_metars%22%3A%22%7B%7D%22%7D%22%3B',
}
headers = {
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'Connection': 'keep-alive',
# Requests sorts cookies= alphabetically
# 'Cookie': 'PHPSESSID=f827955883fc9212d47fea2aed5a996e; WEATHERCLOUD_CSRF_TOKEN=ecaa6741b9cb21a665c36872da01f19a0b9c8a55s%3A88%3A%22MW1uTmQ1Yk5CfmNQNElIME1OWHZCU2lScGFZcHBpMHLtox5-6T8ZtQKfvzXtR2wk3VJIc35xZq2x9uCsDruxGA%3D%3D%22%3B; _ga=GA1.2.1415913915.1659038309; _gid=GA1.2.1003055442.1659038309; __gads=ID=aa5d54ed2668e683-22dfc3d081d4003d:T=1659038309:RT=1659038309:S=ALNI_Ma88ofIz3W-KMH1uaBcrqAEh2G8-A; _gat=1; WEATHERCLOUD_RECENT_ED3C8=f6ca7a274ff0eed723ced7339a4024019b1d2680s%3A97%3A%226ef64e9a65d7df2b10dee00bf32d2d190a9a28aa%7B%22_devices%22%3A%22%7B%5C%225904597256%5C%22%3A1659038816%7D%22%2C%22_metars%22%3A%22%7B%7D%22%7D%22%3B',
'Referer': 'https://app.weathercloud.net/d5904597256',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
}
params = {
'code': '5904597256',
}
response = requests.get('https://app.weathercloud.net/device/values', params=params, cookies=cookies, headers=headers)
mjdm.setGlobal("ThisComputer.cur_temp", response.json()['temp'])
Добавить код в сценарий и вызывать сценарий с какой-то периодичностью, но будет работать строго пока токен WEATHERCLOUD_CSRF_TOKEN не протухнет. Обычно это час-два.
Re: [Модуль] Веб-переменные (webvars)
Добавлено: Пт июл 29, 2022 7:57 am
zemyat
fandaymon писал(а): Чт июл 28, 2022 11:16 pm
Сайт заполняет значения при помощи js скрипта - обычным GET данные с него не получишь, на момент запроса их на странице просто нету
Можно извращаться с помощью питона
Код: Выделить всё
import requests
cookies = {
'PHPSESSID': 'f827955883fc9212d47fea2aed5a996e',
'WEATHERCLOUD_CSRF_TOKEN': 'ecaa6741b9cb21a665c36872da01f19a0b9c8a55s%3A88%3A%22MW1uTmQ1Yk5CfmNQNElIME1OWHZCU2lScGFZcHBpMHLtox5-6T8ZtQKfvzXtR2wk3VJIc35xZq2x9uCsDruxGA%3D%3D%22%3B',
'_ga': 'GA1.2.1415913915.1659038309',
'_gid': 'GA1.2.1003055442.1659038309',
'__gads': 'ID=aa5d54ed2668e683-22dfc3d081d4003d:T=1659038309:RT=1659038309:S=ALNI_Ma88ofIz3W-KMH1uaBcrqAEh2G8-A',
'_gat': '1',
'WEATHERCLOUD_RECENT_ED3C8': 'f6ca7a274ff0eed723ced7339a4024019b1d2680s%3A97%3A%226ef64e9a65d7df2b10dee00bf32d2d190a9a28aa%7B%22_devices%22%3A%22%7B%5C%225904597256%5C%22%3A1659038816%7D%22%2C%22_metars%22%3A%22%7B%7D%22%7D%22%3B',
}
headers = {
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'Connection': 'keep-alive',
# Requests sorts cookies= alphabetically
# 'Cookie': 'PHPSESSID=f827955883fc9212d47fea2aed5a996e; WEATHERCLOUD_CSRF_TOKEN=ecaa6741b9cb21a665c36872da01f19a0b9c8a55s%3A88%3A%22MW1uTmQ1Yk5CfmNQNElIME1OWHZCU2lScGFZcHBpMHLtox5-6T8ZtQKfvzXtR2wk3VJIc35xZq2x9uCsDruxGA%3D%3D%22%3B; _ga=GA1.2.1415913915.1659038309; _gid=GA1.2.1003055442.1659038309; __gads=ID=aa5d54ed2668e683-22dfc3d081d4003d:T=1659038309:RT=1659038309:S=ALNI_Ma88ofIz3W-KMH1uaBcrqAEh2G8-A; _gat=1; WEATHERCLOUD_RECENT_ED3C8=f6ca7a274ff0eed723ced7339a4024019b1d2680s%3A97%3A%226ef64e9a65d7df2b10dee00bf32d2d190a9a28aa%7B%22_devices%22%3A%22%7B%5C%225904597256%5C%22%3A1659038816%7D%22%2C%22_metars%22%3A%22%7B%7D%22%7D%22%3B',
'Referer': 'https://app.weathercloud.net/d5904597256',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest',
'sec-ch-ua': '".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
}
params = {
'code': '5904597256',
}
response = requests.get('https://app.weathercloud.net/device/values', params=params, cookies=cookies, headers=headers)
mjdm.setGlobal("ThisComputer.cur_temp", response.json()['temp'])
Добавить код в сценарий и вызывать сценарий с какой-то периодичностью, но будет работать строго пока токен WEATHERCLOUD_CSRF_TOKEN не протухнет. Обычно это час-два.
Спасибо, буду искать альтернативные варианты.
Re: [Модуль] Веб-переменные (webvars)
Добавлено: Пт июл 29, 2022 6:17 pm
fandaymon
zemyat писал(а): Пт июл 29, 2022 7:57 am
Спасибо, буду искать альтернативные варианты.
В принципе скрипт до сих пор информацию выдаёт, так что может они и не меняют токен так уж часто...
Re: [Модуль] Веб-переменные (webvars)
Добавлено: Ср июл 24, 2024 8:22 am
AndrewStick
Товарищи, прошу помощи с регуляркой.
энергосбыт снова переписал страницу с тарифами
теперь у них каждая строка заканчивается LF
соотв. конструкция
Код: Выделить всё
Многотарифный учёт.+?Ночная зона Т2<.+?d-table-num-left">(.+?)<\/div>
не работает
сайт:
https://www.mosenergosbyt.ru/individual ... /index.php
что я хочу:
Найти последнее "по трем зонам", за ним "зона Т2", и взять значение между d-table-num-left"> и </div
Пока дошел до
Код: Выделить всё
по трем зонам(?:.+?\n){1,}.*зона Т1(?:.+?\n){1,4}.+?(\d+,\d+)
В калькуляторе работает

- QIP Shot - Screen 1323.jpg (742.13 КБ) 2283 просмотра
а в веб-переменных нет. пишет incorrect value

Что ему не нравится?
И еще вопрос: модуль не воспринимает тэг глобальности '/ /g' Это можно как то победить?
В общем добил. Вот такая конструкция заработала
Код: Выделить всё
трем зонам (?:.+?)зона Т1 (?:.+?)d-table-num-left">\n[[:blank:]]+(?:.+?)[[:blank:]]+<\/div(?:.+?)трем зонам (?:.+?)зона Т1 (?:.+?)d-table-num-left">\n[[:blank:]]+(.+?)[[:blank:]]+<\/div
При этом, в калькуляторе она не работает.
Если нужны данные из первой половины, то убираем "?:" из первых скобок между blank`ами и вставляем во вторые.