Russian Qt Forum
Апрель 20, 2024, 12:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Разобраться с QWebEngine  (Прочитано 7235 раз)
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.048 секунд. Запросов: 23.