Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > QRegExp для большого объёма данных


Автор: Riviero 15.3.2018, 10:17
Парсю сайт, на маленьких страницах всё ок, но когда sizeof(arr) начинает превышать 5 млн символов - можно идти гулять, курить и т.д.

Код

QByteArray arr = QString(rep->readAll()).toLatin1();
QStringList sList;
            qDebug() << arr.length();
            QRegExp exp("регулярное_выражение");
            while ( (lastPos = exp.indexIn( arr, lastPos )) != -1)
            {
                lastPos += exp.matchedLength();
                if (exp.matchedLength() == -1)
                    break;
                sList << exp.cap(1);
            }


Как можно вот это всё ускорить.
Если кто знает, как впихнуть сайт в DOM или где это описано, и будет ли это быстрее - киньте ссылкой. Заранее спасибо. 

Автор: ss 19.3.2018, 20:20

в примерах Qt есть DOM Bookmarks Example

Автор: borisbn 20.3.2018, 13:02
Цитата(Riviero @  15.3.2018,  10:17 Найти цитируемый пост)
Если кто знает, как впихнуть сайт в DOM или где это описано

http://doc.qt.io/qt-5/qdomdocument.html

Цитата(Riviero @  15.3.2018,  10:17 Найти цитируемый пост)
будет ли это быстрее

Проверь. Расскажи всем. Думаю, что будет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)