linuxの下でHTMLからC ++にキーワードを抽出する

私は単純なクライアント - サーバープロジェクトに取り組んでいます。クライアントはJavaで書かれており、Linuxで書かれたC ++サーバにキーワードを送信し、キーワードの出現回数に応じて最良のランクのURLのリストを受け取ります。サーバーの仕事は、キーワードを検索していくつかのURLを調べ、最適なURLを返すことです。そして、問題は、重要な単語の出現箇所を見つけるためにHTMLサイトを解析し、訪問したページからリンクを抽出して検索する必要があることです。そして私の質問は、私がそれを行うためにどのようなライブラリを使うことができるかです。 C ++のlinuxライブラリのみが私に適していることを覚えておいてください。似たような話題がいくつかあったので、それらのほとんどを見てみましたが、いくつかのライブラリはhtmlファイルだけを解析しています。訪問したサイトをすべてダウンロードしたくないのですが、その場で解析してランクとURLを保存します。その中には、HTMLをXMLやその他のものに解析してから、最終的にC ++で結果に取り組むなど、やや複雑なものがあります。私が必要とすることを行うのに単純で十分なことがありますか?アドバイスをいただければ幸いです。

1

3 答え

私は正規表現がHTML解析には適していないと思う。私はlibxml2を使用しています。とても使いやすく、持ち運びやすく、雷が激しくなります。

1
追加された
1.自分のサイトにこのライブラリの実装がたくさんあります。私にC ++用のリンクを教えてください。私は本当にそのようなものに精通していない。 2.あなたはそれを使っていると言っていましたが、コード例がありますか?例として使用できますか? (特にC ++で使用されている場合)ありがとう!
追加された 著者 koleS,
@コールズ:率直に言って、私は自分自身でそれを初めて使っています。スナップショットをダウンロードしました:リンク。私はWindows上で構築するのに問題はなく、他のプラットフォーム用のビルドも変わっていないと思います。
追加された 著者 Violet Giraffe,

あなたはxerces-cを試すことができます。 XML解析用の強力なライブラリです。これは、オンザフライ、DOMとサックスの解析でXMLの読み取りをサポートしています。

1
追加された
厳密にはXML指向のパーサーはWebからのほとんどのページを食べません。そして、自分のページのHTMLサポートについては何も見ないでください。
追加された 著者 Violet Giraffe,

C/C ++を使用してWebからURLを取得するには、 libcurl ライブラリを使用します。 URLや他のサイトでは簡単ではないものを解析するには、正規表現ライブラリをご覧ください。

実際のコンテンツからHTMLタグを分離することは、ライブラリを使用せずに行うこともできます。

より高度なもののために、ページのDOMモデルにアクセスし、個々のHTMLオブジェクト(例えばテーブルの単一のセル)を簡単に抽出することを可能にするQWebPage(WebKitを使用する)などのクラスを提供するQtを使用することができます。

0
追加された