Привет всем! Подскажите пожалуйста, пытаюсь написать простейший парсер. В qt

и в плюсах новичок. Использую QNetworkAccessManager, отправляю get запрос и получают код странички. Вывожу в plainTextEdit. Здесь все нормально, работает и выводится как надо. Но мне нужно найти в этом тексте подстроку и вывести ее. Вот если я загружаю полученный ответ в строку QString, а не в plainTextEdit, то туда почему-то загружается только первые 10 000 символов, остального нет. Значит максимальная длина QString 10 000 символов? Что тогда использовать, чтобы передать весь текст?

9 ответов

10 просмотров

Вы уверены, что для простейшего парсера нужны Qt и плюсы? как определили, что в QString только 10к сиволов? в файл сохраняли?

Meatbeat- Автор вопроса
Denis K
Вы уверены, что для простейшего парсера нужны Qt и...

Парсер это просто как задача, которую надо сделать на qt. Определил в дебагере.

ну если нужна подстрока найди ее. если она подчиняется некому шаблону используй регулярное выражение для ее поиска.

Meatbeat- Автор вопроса
Stas Koynov
ну если нужна подстрока найди ее. если она подчиня...

Ищу через indexOf(). Не находит. Смотрю в дебагер, там исходная строка длиной только 10к, хотя по факту она в разы больше.

Meatbeat- Автор вопроса
Vyacheslav @holydevlog
А можно код?

Вот слот для ответа QNetworkAccessManager void Avito_MainWindow::replyNetManager(QNetworkReply *reply) { QString s1 = "Купить автомобиль в России"; QString s2 = "page-title/count"; QString s_all = reply->readAll(); ui->plainTextEdit->appendPlainText(s_all); int i_pos = s_all.indexOf(s1); s_all.remove(0, i_pos-1); i_pos = s_all.indexOf(s2); s_all.remove(i_pos, s2.count()); i_pos = s_all.indexOf("</"); QString s_value = s_all.mid(1, i_pos); ui->plainTextEdit->appendPlainText("s_value=" + s_value); reply->deleteLater(); }

Meatbeat
Ищу через indexOf(). Не находит. Смотрю в дебагер,...

Тут, возможно, дебаггер обрезает строку. В QString точно можно больше 10к символов.

Meatbeat- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта