Получить URL-адрес изображения из строки

Я пытаюсь найти способ получить URL-адрес изображения из источника веб-страницы. Я могу получить источник веб-страницы в строку и проанализировать его построчно, чтобы найти строку с URL. Тем не менее, я не смог найти хороший способ получить только URL из строки. Я думаю, что это можно сделать с помощью QRegExp, но я не смог понять, как его использовать.

Строка, которую я пытаюсь разобрать

<img width="980" height="1515" id="mainImg" src="//test/123.jpg" alt="test">

Окончательный рабочий код

void MainWindow::on_btnDownload_clicked()
{
QString url = "http://test.foo.com";

QUrl qURL = url;

QNetworkAccessManager manager;
QNetworkReply *response = manager.get(QNetworkRequest(QUrl(url)));
QEventLoop event;
connect(response,SIGNAL(finished()),&event,SLOT(quit()));
event.exec();
QString html = response->readAll();
QStringList str;
str = html.split("\n");
//qDebug() << url;

for (int i = 0; i < str.size(); ++i){
    if(str.at(i).contains("id=\"mainImg\"", Qt::CaseInsensitive)){
        QString pic;
        pic = str.at(i);
        pic = pic.remove(QRegExp("<img[^>]*src=['|\"]",  Qt::CaseInsensitive));
        pic = pic.remove(QString::fromStdString("//"), Qt::CaseInsensitive);
        pic = pic.remove('"');
        pic = pic.remove("'");
        pic = pic.remove('<');
        pic = pic.remove('>');
        pic = pic.remove(';');
        pic = pic.left(pic.length()-1);
        //qDebug() << str.at(i);
        qDebug() << pic;
    }
}


qDebug() << "Lines: " << str.size();
}

0 ответов

Другие вопросы по тегам