0

我有一个包含通过下载的 HTML 页面的字符串WinHttpReadData。该字符串是一个简单的char*.
我一直在想办法只提取该页面上的 URL。举个例子,假设你正在谷歌搜索 WinHTTP 这个词,你会看到一个充满链接的 HTML 页面。我现在需要检查每个链接,将其提取并保存到文件中。

我尝试搜索HREF,http://和其他关键字,然后尝试将字符串一直提取到 ,</a>但它并没有真正起作用。从该 URL 中获取描述(如<a href="http://someurl.com/somepage.html">some text</a>get some text)也很好,但它不如 URL 本身重要。

这里棘手的是我不能使用 3rd 方库,因为我不想处理许可证等。

关于如何做到这一点的任何想法?WinHTTP 是否提供了一种方法来做到这一点?在 C(不是C++)中?

谢谢您的帮助

4

1 回答 1

0

也许您应该选择 PCRE C API(可在PCRE 网站上获得)

您需要的正则表达式如下:

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

这应该映射太组<url><name>组结构内。

于 2011-03-01T14:35:52.833 回答