какую библиотеку я должен использовать для получения данных с сайта.
Например у меня есть такой случай:
<html>
<body>
<div class = "MyClass">
<div class = "MyClass2"> </div>
</div>
</body>
</html>
И как мне получить название второго класса (Myclass2
), какой метод я должен использовать?
Я просто хочу отметить, что в C # это было очень легко, на мой взгляд, сложнее.
Я использовал QWebElement
класс, но я не нашел подходящий метод.
Привет
Ты можешь использовать QWebPage
класс, который предоставляет объект для просмотра и редактирования веб-документов. С помощью QWebElement
Вы можете получить доступ к элементам DOM в QWebFrame
:
QWebPage page;
page.mainFrame()->load(url);
QWebFrame * frame = page.mainFrame();
QWebElement doc = frame->documentElement();
QWebElement body = doc.firstChild();
QWebElement first = body.firstChild();
QWebElement second = body.firstChild();
QString str = second.attribute("class");
Вы также можете использовать QXmlStreamReader для доступа к вашему документу.
Пример цикла:
QXmlStreamReader xml;
...
while (!xml.atEnd()) {
xml.readNext();
... // do processing
}
if (xml.hasError()) {
... // do error handling
}
Полезный пример:
Пример QXmlStream Bookmarks