I need to get title of webpage
-
Hi
I need to get title of webpage , for example : https://forum.qt.io/category/10/general-and-desktop , title : General and Desktop | Qt Forum .
How can i do?
Thanks -
@p3c0 Thanks
I used QWebEngineView before i send this topic.
I using QWebEnginePage and i get thie error :
:-1: error: Unknown module(s) in QT: webenginewidgets -
@Armin I wanted to know the Qt version, not QtCreator version.
Which Qt version did you install? -
@Armin Did you install Qt WebEngine as well? It is not part of default installation. You can use Qt Maintenance Tool to install Qt WebEngine.
-
@Armin You mean you want to extract title from:
<head> <title>General and Desktop | Qt Forum</title>
right?
Then you can just sent a GET request using http://doc.qt.io/qt-5/qnetworkaccessmanager.html and then parse the response (you can use a regular expression to extract the title from <title>...</title>).
From the link above:QNetworkRequest request; request.setUrl(QUrl("http://qt-project.org")); request.setRawHeader("User-Agent", "MyOwnBrowser 1.0"); QNetworkReply *reply = manager->get(request); connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead())); connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(slotError(QNetworkReply::NetworkError))); connect(reply, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(slotSslErrors(QList<QSslError>)));
-
@Armin You mean you want to extract title from:
<head> <title>General and Desktop | Qt Forum</title>
right?
Then you can just sent a GET request using http://doc.qt.io/qt-5/qnetworkaccessmanager.html and then parse the response (you can use a regular expression to extract the title from <title>...</title>).
From the link above:QNetworkRequest request; request.setUrl(QUrl("http://qt-project.org")); request.setRawHeader("User-Agent", "MyOwnBrowser 1.0"); QNetworkReply *reply = manager->get(request); connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead())); connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(slotError(QNetworkReply::NetworkError))); connect(reply, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(slotSslErrors(QList<QSslError>)));
-
@jsulm Thanks
In this line if i am not mistaken you set the title
request.setRawHeader("User-Agent", "MyOwnBrowser 1.0");
But i want to store the title in a QString -
@Armin No this line does not set any titles, why do you think so? Did you read the documentation? You can remove this line. It is not needed for your use-case.
-
@jsulm Thanks
now , all i want is to get url in title ( <title> ... </title> ) and put it on QString.
-
@Armin You can use a regular expression after you got the response from the server to extract the title.