Russian Qt Forum
Июля 07, 2025, 13:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Разобраться с QWebEngine  (Прочитано 8181 раз)
DoomCode
Гость
« : Сентября 19, 2017, 23:28 »

Новичек я в Qt . Хочу заюзать движок в своем проекте .
Третий день не пойму как к нему подступиться . WebView устарел , по WebEngine ни документации ни книг нет . Есть немного примеров на qt.io и stackoverflow .
Надо распарсить страницу , найти ссылку и кликнуть по ней . Через что это делать ?
Через runJavaScript ? Или все же есть методы объектов ?
Посоветуйте что почитать или посмотреть .
Записан
Bepec
Гость
« Ответ #1 : Сентября 20, 2017, 02:23 »

Проще жабой на мой взгляд.
Записан
DoomCode
Гость
« Ответ #2 : Сентября 20, 2017, 23:57 »

Спасибо за подсказку .
Еще такой вопрос . Заметил что по-дефолту webengine достаточно прожорливый движок . На загрузку одного объекта qwebengine тратится ~60-80мб памяти при отображении через show() . И 30-35мб в скрытом варианте . Уже при 10 потоках это легко отожрет ~500Мб памяти . Есть ли варианты как-то снизить его запросы ? Может не грузить графику ? Запретить какие-то функции ?
Просто создавать , к примеру , парсер сайтов , который нагружает систему сильнее чем видеоигры - это уже гротеск какой-то .
Как в этом смысле работал WebView ? 
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Сентября 21, 2017, 00:28 »

Парсеры сайтов пишутся на scrapy, selenium и аналогичных фреймворках. Писать парсер на браузере - это перебор by design. Пробуй отключать картинки и все плагины хотя бы. См. https://doc.qt.io/qt-5/qwebenginesettings.html
Записан
Bepec
Гость
« Ответ #4 : Сентября 21, 2017, 00:42 »

Если вам нужно парсить сайты - проще QNAM'ом пользоваться.
Если же вам нужна имитация действий пользователя, вроде флеша или прочих премудростей - увы, придётся жертвовать памятью.
Записан
DoomCode
Гость
« Ответ #5 : Сентября 21, 2017, 21:30 »

Без картинок и плагинов грузится чуть быстрее , но памяти жрет ровно столько же .
При 60мб/поток боюсь применения этому WebEngine я найду немного . Если только игру буду писать или типа того . Придется наверное обойтись старым добрым curl .
А так флеш без надобности , плагины тоже . Javascript хотелось . Некоторые сайты сейчас по сути на 80% из него состоят .


Записан
Bepec
Гость
« Ответ #6 : Сентября 22, 2017, 09:04 »

Ну, жава и хтмл движок жрут память, никто не спорит, но без них никуда.
PS но по идее движок один на весь webEngine, возможно дальнейший прирост будет меньше? Но эт проверять надо.
Записан
DoomCode
Гость
« Ответ #7 : Сентября 23, 2017, 01:58 »

Цитировать
по идее движок один на весь webEngine, возможно дальнейший прирост будет меньше? Но эт проверять надо.
Если бы . Создаем 5 объектов QWebEngineView для одного(!) сайта .
На выходе получаем 5 процессов QtWebEngineProcessd каждый ~70Mb + процесс родитель ~40Мб . Кроме прочего они все еще неплохо нагружают процессор .

Записан
Bepec
Гость
« Ответ #8 : Сентября 23, 2017, 17:09 »

С таким подходом вам любого движка не хватит.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.028 секунд. Запросов: 23.