KL
Konstantin LazarevMay 13, 2017, 2:06 a.m.
Аналог jsoup для Qt
Доброе утро, подскажите пожалуйста, в Qt есть аналог библиотеки jsoup. Библиотека позволяет доставать любые теги из спарсеного документа.
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
B
- Bogdannn
- March 27, 2024, 7:15 p.m.
C++ - Test 001. The first program and data types
- Result:46points,
- Rating points-6
Last comments
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Lesson 007. Working with ICMP Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоFeb. 5, 2024, 1:50 a.m.
EVADec. 25, 2023, 10:30 a.m.
Boost - static linking in CMake project under Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Lesson 056. Connecting the Boost library in Qt for MinGW and MSVC compilers Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Now discuss on the forum
Как получить в массив значения из связанной модели? Спасибо, разобрался:))
AC
QML Обнулить значения SpinBox Доброго времени суток, не могу разобраться с обнулением значение SpinBox находящего в делегате. import QtQuickimport QtQuick.ControlsWindow { width: 640 height: 480 visible: tr…
Alexandru CodreanuJan. 19, 2024, 11:57 a.m.
BlinCTDec. 27, 2023, 8:57 a.m.
ДмитрийJan. 10, 2024, 4:18 a.m.
Evgenii LegotckoiDec. 12, 2023, 6:48 a.m.
Добрый день!
Если только на гитхабе кто-нибудь выложил нечто подобное, поскольку такая библиотека, если бы она была, была бы очень известна.
А так могу предложить варианты либо с QXmlStreamReader , QXmlStreamWriter , либо с QDomDocument .
Впрочем, настоятельно рекомендую обратить внимание на QDomDocument , там есть методы по получению тегов по имени или id.
Если бы Вы писали на PyQt5, то я порекомендовал бы ещё обратить внимание на Python библиотеку BeautifulSoup 4 , она очень хороша, несмотря на немного неочевидные некоторые моменты в работе. У меня на сайте комментарии и ответы на форуме именно этой библиотекой обрабатываются перед публикацией. Но QDomDocument вполне себе реализует необходимый функционал по извлечению необходимых тегов, разве только нет методов, которые бы по классам или атрибутам выдёргивали необходимые теги, но можно в цикле запросто найти нужный тег из QDomNodeList .
Можно пару строк кода, для лучшего понимания, как вытащить только title из спарсеного документа.
Можно, но только покажите, как у вас тег title выглядит в HTML документе.
Так. Ну я увидел, как выглядит этот тег в логах об ошибке. Накидаю пример.
В следующий раз, просьба, вставлять HTML код через диалог вставки кода. (Надо будет подумать, как пофиксить этот баг)
Допустим тогда, есть вот такой кусок HTML кода:
Следовательно, нужно получить текст, который содержится в title . Для этого в pro файле необходимо подключить модуль xml
И воспользоваться возможностями QDomDocument
А этот модуль работает с удаленными файлами?
Вот такое мне выдает Яндекс, я могу его обработать с помощью данного класса?
При помощи QNetworkAccessManager я могу получить html текст, а яндекс отдает xml файл, думаю ошибка кроется здесь.
Без разницы. QNetworkAccessManager может забрать как html , так и xml текст. А QDomDocument и остальные сопутствующие классы входят в состав модуля xml , что само по себе говорит о том, что он заточен под работу с xml, да и html код - это тот же самый xml, только у него есть определённый стандарт.
Так что ошибка скорее всего в том, что не совсем правильно забираете данные из ответа QNetworkAccessManager`а
ERROR "Unable to init SSL Context: " Вот что выдает приложение, но с Google все отлично работает.
Подскажите как быть с тегами a или картинками?
Как вывести дерево доступных элементов, которые хранятся в doc?
Нужно иметь установленные библиотеки OpenSSL и в pro файле должен быть включен модуль network:
Большего в данном случае посоветовать не могу
Примерно так нужно поступать с тегами a или картинками:
То есть дёргать нужный атрибут из найденного тега
А вот здесь нужно делать модель данных, которую можно будет отобразить в QTreeView . Вообще есть готовый пример Simple DOM Model Example . Поищите его в примерах в Qt Creator. Можно будет оттуда выдернуть классы DomModel и DomItem, которые используются для отображения документа в древовидном виде.
Подсказка с OpenSSL очень помогла, у меня все вышло!!! Спасибо за видео, тоже очень помогло!!! Я рад) 2 недели не мог добраться до ответа)