Вытащить в Лабвью динамику из вебстраницы

Темы связанные с инженерными разработками, но не подходящие в другие ветки форума
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1738
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 2 раза
Контактная информация:

Вытащить в Лабвью динамику из вебстраницы

Сообщение Jakob Brontfeyn »

Уважаемые господа знатоки, помогите вытащить в Лабвью динамически
меняющуюся строку из вебстраницы. Возьмем для конкретного примера, попроще что-нибудь,
ну вот этот линк, время вытащить из него: https://uhrzeitlive.de/
Буду очень признателен, если диаграму пришлете также и в виде картинки,
у меня проблеммы сейчас с новыми версиями Лабвью.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5644
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 35 раз
Поблагодарили: 119 раз

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение IvanLis »

Jakob Brontfeyn писал(а): 21 сен 2025, 12:49 Уважаемые господа знатоки, помогите вытащить в Лабвью динамически меняющуюся строку из вебстраницы.
Запросом скорее всего не получится никак, т.к. там JS работает и в коде страницы Вы не найдете строки.
Запускаете Selenium, просматриваете код страницы и выдергиваете из нее значение необходимого элемента.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1427
Зарегистрирован: 03 фев 2010, 00:42
Награды: 8
Версия LabVIEW: 6.1 - 2025
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 78 раз
Контактная информация:

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение AndreyDmitriev »

О, спасибо за наводку нв Selenium, мне как раз на след неделе понадобится.
А в случае с uhrzeitlive.de самое простое, наверное через Питон скрипт вытащить.
Вот скрипт (вначале надо pip install selenium само собой):

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

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

def get_uhrzeitlive_time():
    # Initialize the Chrome driver (make sure chromedriver is configured in your environment)
    driver = webdriver.Chrome()

    try:
        # Load the webpage
        driver.get("https://www.uhrzeitlive.de/")
        time.sleep(1)

        # Wait until the element with id 'td' (which contains the time) is present and visible
        wait = WebDriverWait(driver, 10)
        time_element = wait.until(EC.visibility_of_element_located((By.ID, "td")))

        # Extract the full time text, e.g. "01:54:38 PM"
        time_text = time_element.text
        
        # Return the time string back to LabVIEW
        return time_text

    finally:
        driver.quit()

# LabVIEW Python node will call get_uhrzeitlive_time() function hence no code runs at import
Вот диаграмма и результат:
Изображение
Правда в headless режиме чего-то не хочет работать, но это дело десятое.
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1738
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 2 раза
Контактная информация:

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение Jakob Brontfeyn »

Спасибо Андрей за желание помочь, только получается
сейчас как в сказке:"Чем дальше, чем страшнее".
Еще и Селениум(первый раз услышал), еще и Питон,
где скачать и как инсталировать и как с ним работать,
боюсь не потяну. Не сочти за труд, посмотри, картинки от КИ, может
что подскажешь.
Вложения
KI_Wert_aus_Webseite.png
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1427
Зарегистрирован: 03 фев 2010, 00:42
Награды: 8
Версия LabVIEW: 6.1 - 2025
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 78 раз
Контактная информация:

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение AndreyDmitriev »

Jakob Brontfeyn писал(а): 21 сен 2025, 16:09 Спасибо Андрей за желание помочь, только получается
сейчас как в сказке:"Чем дальше, чем страшнее".
Еще и Селениум(первый раз услышал), еще и Питон,
где скачать и как инсталировать и как с ним работать,
боюсь не потяну. Не сочти за труд, посмотри, картинки от КИ, может
что подскажешь.
Там в общем особо нечего "не потянуть".

Надо скачать и поставить Питон, это делается элементарно, только надо учесть, что не каждая версия питона совместима с LabVIEW. Если используется LabVIEW 2018-2020, то надо брать либо 2.7 либо 3.6 (лучше 3.6, конечно). Если 2021 или 2022, то тогда Питоны 3.6-3.9 (2.7 тут не поддерживается). Если 2023Q1-2024Q1, то 3.6-3.10, а если 2025Q1 и старше, то 3.9-3.12, вот поэтому я и взял 3.12. Поскольку я работаю сейчас с 3.13.7, то чтобы не прописывать 3.12 в переменную пути, я явно указал, куда Питон установлен, а в путь он не прописан. Битность должна соответствовать, ну то есть не надо пробовать пользоваться 64-бит Питоном из 32-бит LabVIEW и наоборот. Я предпочитаю установку Питона в Program Files, но это дело вкуса, можно ставить по умолчанию или воспользоваться виртуальным окружением — Анакондой или venv, но это только если плотно работать с разными версиями Питона. А, ещё надо заметить, что не для каждой версии там инсталляшка, надо чуть полазить по сайту Питона чтоб найти специфическую версию.

Дальше надо сделать простенький скрипт "привет, мир", возвращающий какую-нибудь строку и вызвать его из LabVIEW для проверки, что всё работает. Selenium для Питона устанавливается через команду pip install selenium, если Питон установлен правильно и прописан в переменную пути, то команда pip будет доступна из промпта, иначе надо перейти в папку Питона и запустить оттуда.

Сам скрипт, который вытягивает время был сгенерён AI чуть более чем полностью. Тег, откуда забирать время я посмотрел в исходнике страницы - сейчас любой браузер имеет режим отладки. Я туда в скрипт только паузу добавил, иначе время то возвращалось то нет, просто страница не успевала прогрузиться и скрипты не успевали отработать. Эта пауза с точки зрения идеологии и архитектуры — так себе решение, но для упражнений сойдёт.

А что касается нездоровых картинок от КИ, то тут мы "за что боролись, на то и напоролись" — LabVIEW до сих пор опережала время, но теперь время опередило её — текстовые языки очень хорошо поддерживаются большими языковыми моделями, а вот с графической парадигмой у них шансов нет по определению. NI добавила в последнюю версию поделие под названием Nigel, но это не AI - нам могут выкатить общие слова о том, как работает наша диаграмма, но генерить LabVIEW код равно как и исправлять ошибки этот ИИ не умеет, и до копилотов типа гитхабовского ему как пешком до Луны. Я на Расте при помощи ИИ пишу теперь быстрее, чем на LabVIEW. Где-то так.
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1738
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 2 раза
Контактная информация:

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение Jakob Brontfeyn »

Труден путь к тебе истина, пока сделал вариант для сайта, где есть API.
Еще раз спасибо Андрей, буду осваивать и другие методики.
Вот слепил пример на LV 2020.
Вложения
wetter_aus_web.vi
(20.58 КБ) 27 скачиваний
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1738
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 2 раза
Контактная информация:

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение Jakob Brontfeyn »

Чувствую, что без темы "Web Scraper" мне здесь никак не обойтись,
подскажите где можно его скачать бесплатно. А может есть он уже в
Лабвью реализованный. Мне важно определить как-то, есть на вебстранице
API или нет, не очень хочется возится с телом вебстраниц, но боюсь придется.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5644
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 35 раз
Поблагодарили: 119 раз

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение IvanLis »

Jakob Brontfeyn писал(а): 24 сен 2025, 08:08 Чувствую, что без темы "Web Scraper" мне здесь никак не обойтись
Интегрируйте контейнер .NET -> WebBrowser
Он уже сам по себе много чего умеет.
Посмотрите, что из него можно вытащить: WebBrowser Class
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1738
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 2 раза
Контактная информация:

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение Jakob Brontfeyn »

Можно конкретный примерчик диаграммы, а то я вот имею Labview 2020 картинки,
а дальше что?
Вложения
forum.png
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5644
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 35 раз
Поблагодарили: 119 раз

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение IvanLis »

Jakob Brontfeyn писал(а): 24 сен 2025, 16:46 Можно конкретный примерчик диаграммы
Конкретного примера у меня нет, тем более я понятия не имею, что Вы хотите получить.
Это объект .NET и нужно смотреть документацию по этому классу: свойства и методы. Может там уже есть готовое = "нужно".
Пример для "толчка" можно взять на сайте NI: Simple LabVIEW Web Browser

Встроить его можно так:
Снимок экрана от 2025-09-24 17-53-23.png
Аватара пользователя
iGerodot
interested
interested
Сообщения: 5
Зарегистрирован: 17 сен 2025, 13:20
Версия LabVIEW: 2019
Контактная информация:

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение iGerodot »

Я несколько не понимаю проблемы зачем такие костыли с питоном и кучей левого хлама?
Сайт вообще не стучится в сеть на ресурсы точного времени, по коду обновления используется системное время которое запрашивается через браузер на вашем ПК.
Может просто стоит получить время и локаль часового пояса у системы?
Аватара пользователя
Select
professional
professional
Сообщения: 317
Зарегистрирован: 12 дек 2017, 23:56
Версия LabVIEW: 18
Откуда: Врата надежды.
Поблагодарили: 3 раза

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение Select »

AndreyDmitriev писал(а): 22 сен 2025, 09:54 ...А что касается нездоровых картинок от КИ, то тут мы "за что боролись, на то и напоролись" — LabVIEW до сих пор опережала время, но теперь время опередило её — текстовые языки очень хорошо поддерживаются большими языковыми моделями, а вот с графической парадигмой у них шансов нет по определению. NI добавила в последнюю версию поделие под названием Nigel, но это не AI - нам могут выкатить общие слова о том, как работает наша диаграмма, но генерить LabVIEW код равно как и исправлять ошибки этот ИИ не умеет, и до копилотов типа гитхабовского ему как пешком до Луны. Я на Расте при помощи ИИ пишу теперь быстрее, чем на LabVIEW. Где-то так.
Я и не ждал особо ничего взрывного от этой фишки. Максимум генерить приближенный дизайн передних панелей в графических форматах в качестве поздравительных
открыток.
Ai еще не там, даже если NI перенесет туда свое открытое декомпилированное логическое ядро с детальным описанием всех тулсов, методов, инструкций, библиотек и т.д., трудно представить какие для него понадобятся промпт инструкции для выдачи блок диаграмм, пусть даже в виде картинки...
LabView 14,18
Artem.spb

Activity Автор
professor
professor
Сообщения: 3624
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 57 раз
Поблагодарили: 195 раз
Контактная информация:

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение Artem.spb »

AndreyDmitriev писал(а): 22 сен 2025, 09:54 Я на Расте при помощи ИИ пишу теперь быстрее, чем на LabVIEW. Где-то так.
Это субъективное мнение, или реальность, подтверждённая экспериментами?
Ибо вот пример эксперимента, показавшего обратные результаты: https://www.reuters.com/business/ai-slo ... 025-07-10/
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5644
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 35 раз
Поблагодарили: 119 раз

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение IvanLis »

Artem.spb писал(а): 03 окт 2025, 20:07 Это субъективное мнение, или реальность, подтверждённая экспериментами?
Немного ушли в офф.топ.

Но тоже читал много статей, где представляется как подтвержденный факт что:
ИИ реально сокращает время написания кода, но при этом значительно увеличивается время на тестирование и отладку.

Исходя из другой статистики:
непосредственно написание кода это около 25-30% времени, а 70-75% это тестирование и отладка.

Сам иногда использую ИИ для написания программ, но прям программу мне никогда не получалось сделать.
Если сам разложишь логику и структуру, укажешь сигнатуру функции, опишешь логику ее работы. В этом случае ИИ справляется не плохо.
Иногда использую, для рефакторинга и поиска причин возникновения ошибки.

Из сказанного могу сделать вывод, но это чисто мое личное мнение, если ты знаешь что хочешь получить и задача стандартная, детерминированная, небольшая... То ИИ ускоряет процесс.
В остальных случаях может привести к паранойе :dance:
Artem.spb

Activity Автор
professor
professor
Сообщения: 3624
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 57 раз
Поблагодарили: 195 раз
Контактная информация:

Re: Вытащить в Лабвью динамику из вебстраницы

Сообщение Artem.spb »

IvanLis писал(а): 03 окт 2025, 22:59 Если сам разложишь логику и структуру, укажешь сигнатуру функции, опишешь логику ее работы. В этом случае ИИ справляется не плохо.
Вот если ты сделал все эти подготовительные шаги, то написание функции по времени примерно равно написанию промпта + потом ещё отладить.

И повторю вопрос: все эти мысли про ускорение, это субъективное восприятие, или реальные замеры? в той статье примечательный факт: участников спросили про ускорение до и после. И все утверждали, что есть прирост производительности. Но вот измерения дали обратную картину. наш мозг умеет галлюцинировать не хуже ИИ :)
Ответить

Вернуться в «Общие»