0

を介してダウンロードされたHTMLページを含む文字列がありますWinHttpReadData。文字列は単純char*です。
私はそのページにあるURLだけを抽出する方法を考えようとしてきました。例を挙げると、GoogleでWinHTTPという単語を検索していて、リンクでいっぱいのHTMLページが表示されているとします。次に、各リンクを確認して抽出し、ファイルに保存する必要があります。

HREFhttp://およびその他のキーワードを検索してから、文字列を最後まで抽出しようとしました</a>が、実際には機能していません。そのURL(<a href="http://someurl.com/somepage.html">some text</a>getなどsome text)から説明を取得することもできますが、URL自体ほど重要ではありません。

ここで注意が必要なのは、ライセンスなどを処理する必要がないため、サードパーティのライブラリを使用できないことです。

これを行う方法についてのアイデアはありますか?WinHTTPはこれを行う方法を提供しますか?C(C ++ではない)で?

助けてくれてありがとう

4

1 に答える 1

0

たぶん、PCRE C API( PCREサイトで入手可能)に行く必要があります

必要な正規表現は次のようになります:

<a.*?href=[""'](?<url>.*?)[""'].*?>(?<name>.*?)</a>

これは、グループもグループ構造内にマップする必要が<url>あります。<name>

于 2011-03-01T14:35:52.833 に答える