如何获取 HTML 源代码中的所有链接?

Triumph 2003-09-12 11:01:00
HTML 源代码保存在字符串 S 中,请问如何将 S 中的所有 A 标签中的 Href 属性指向的地址提取出来,并保存在客串数组 SArr 中?
...全文
139 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
saucer 2003-09-13
  • 打赏
  • 举报
回复
go to
http://www.regexlib.com/Search.aspx

type "links" in the Keyword textbox and click on Search button
tohen 2003-09-13
  • 打赏
  • 举报
回复
http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=9D49B3EF-0F91-421B-841F-5D9A000BDA04

Microsoft WebBrowser
cnhgj 2003-09-12
  • 打赏
  • 举报
回复
获取HTML源码后查找<a href=...></a>...就是连接啊
Triumph 2003-09-12
  • 打赏
  • 举报
回复
我用正则表达式实现了一部分:"<A[^<]*HREF=('|"")([^> ]*)(\1)[^>]*>

问题是页面中的链接形式可能多种多样,如下面的都能被IE识别:

<A Href="http://***.********.***" target="_blank">*****</A>
<A Href='http://***.********.***' target="_blank">*****</A>
<A Href=http://***.********.*** target="_blank">*****</A>
<A target="_blank" Href="http://***.********.***">*****</A>
<A target="_blank" Href='http://***.********.***'>*****</A>
<A target="_blank" Href=http://***.********.***>*****</A>

但用上面的正则表达式就不一定全部都能识别。
孟子E章 2003-09-12
  • 打赏
  • 举报
回复
在页面上直接写
for(i=0;i<document.links.length;i++)
alert(document.links[i].href)
孟子E章 2003-09-12
  • 打赏
  • 举报
回复
http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=9D49B3EF-0F91-421B-841F-5D9A000BDA04

Microsoft WebBrowser
wolve 2003-09-12
  • 打赏
  • 举报
回复
第一次capture的表达式为:
<a.*>.*</a>
第二次capture的表达式为:
href="(<link>.*)"
link为最终的内容。
wolve 2003-09-12
  • 打赏
  • 举报
回复
用正则表达式。
先找到所有<a>,然后在找到<a>中的href。
当然,也可以通过前向/后向断言一次性找到,不过这样表达式比较烦

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧