Russian Qt Forum

Qt => Вопросы новичков => Тема начата: DoomCode от Сентябрь 19, 2017, 23:28



Название: Разобраться с QWebEngine
Отправлено: DoomCode от Сентябрь 19, 2017, 23:28
Новичек я в Qt . Хочу заюзать движок в своем проекте .
Третий день не пойму как к нему подступиться . WebView устарел , по WebEngine ни документации ни книг нет . Есть немного примеров на qt.io и stackoverflow .
Надо распарсить страницу , найти ссылку и кликнуть по ней . Через что это делать ?
Через runJavaScript ? Или все же есть методы объектов ?
Посоветуйте что почитать или посмотреть .


Название: Re: Разобраться с QWebEngine
Отправлено: Bepec от Сентябрь 20, 2017, 02:23
Проще жабой на мой взгляд.


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


Название: Re: Разобраться с QWebEngine
Отправлено: Alex Custov от Сентябрь 21, 2017, 00:28
Парсеры сайтов пишутся на scrapy, selenium и аналогичных фреймворках. Писать парсер на браузере - это перебор by design. Пробуй отключать картинки и все плагины хотя бы. См. https://doc.qt.io/qt-5/qwebenginesettings.html


Название: Re: Разобраться с QWebEngine
Отправлено: Bepec от Сентябрь 21, 2017, 00:42
Если вам нужно парсить сайты - проще QNAM'ом пользоваться.
Если же вам нужна имитация действий пользователя, вроде флеша или прочих премудростей - увы, придётся жертвовать памятью.


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




Название: Re: Разобраться с QWebEngine
Отправлено: Bepec от Сентябрь 22, 2017, 09:04
Ну, жава и хтмл движок жрут память, никто не спорит, но без них никуда.
PS но по идее движок один на весь webEngine, возможно дальнейший прирост будет меньше? Но эт проверять надо.


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



Название: Re: Разобраться с QWebEngine
Отправлено: Bepec от Сентябрь 23, 2017, 17:09
С таким подходом вам любого движка не хватит.