次のHTMLを解析するにはどうすればよいですか
<body>
<span style="font-size:11px">12345</span>
<a>Hello<a>
</body>
www.testtest.com から style="font-size:11px" を使用して "span" からデータ "12345" を取得したいのですが、そのデータだけが必要で、他には何も必要ありません。
どうすればこれを達成できますか?
次のHTMLを解析するにはどうすればよいですか
<body>
<span style="font-size:11px">12345</span>
<a>Hello<a>
</body>
www.testtest.com から style="font-size:11px" を使用して "span" からデータ "12345" を取得したいのですが、そのデータだけが必要で、他には何も必要ありません。
どうすればこれを達成できますか?
編集: Qt 5.6 リリースのブログ投稿から:
5.6 では、Qt WebKit と Qt Quick 1 はサポートされなくなり、リリースから削除されます。これらのモジュールのソース コードは引き続き利用できます。
そのため、Qt 5.6 の時点で (ソースをコンパイルする意思がない限り)QtWebKit
は利用できなくなりました。5.6 よりも古い Qt リリースを使用していて、コンパイルしても構わないと思っている場合QtWebKit
、これは役立つかもしれません。それ以外の場合、この回答は無効になります。
ユースケースについての説明が不完全であるため、何をする必要があるかを正確に伝えるのは困難です。ただし、手続きには2つの方法があります。
そのモジュールの他の機能がすでに必要な場合は、これにより依存関係がさらに発生することはなく、使用するのに最も便利です。
https://doc.qt.io/archives/qt-5.5/qwebelement.htmlを取得する必要があります
HTML で最初の「span」要素を見つけると、それが表示されます。
https://doc.qt.io/archives/qt-5.5/qwebframe.html#findFirstElement
次に、対応する QWebElement メソッドを使用して、その要素のテキストを簡単に取得できます。たとえば、これを使用して属性値を取得できます。
https://doc.qt.io/archives/qt-5.5/qwebelement.html#attribute
...しかし、ドキュメントなどでわかるように、属性名をリクエストすることもできます。
これは、12345
値を取得する方法です。
https://doc.qt.io/archives/qt-5.5/qwebelement.html#toPlainText
ソフトウェアに Webkit が必要なく、QWebKit を使用する必要がある Web から直接ではなく、別の方法で html データを取得する場合は、QtCore で利用可能な xml パーサーを使用することをお勧めします。QtWebKit からの他の依存関係がない場合でも、この追加の依存関係がユースケースで問題を引き起こさない場合があります。あなたの説明に基づいて判断するのは難しいです。確かに、HTML 用に設計されている Webkit ベースのソリューションと比較すると、それほど便利ではありませんが、これはあまり便利ではありません。
避ける必要があるのは QtXmlPatterns です。これは現在メンテナンスされていないソフトウェアであり、どちらの方法でもコードに追加の依存関係が導入されます.