问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何提取网页源代码中的链接代码?

发布网友 发布时间:2022-04-23 20:11

我来回答

2个回答

热心网友 时间:2023-09-22 12:49

Private Sub Command1_Click()

Dim s As String

s = Text1.Text
s = Replace(Text1.Text, vbCrLf, "") '移除所有回车换行符

'Dim oRegEx As RegExp
'Set oRegEx = New RegExp
'Dim oMatches As MatchCollection
'Dim oMatch As Match

Dim oRegEx As Object
Set oRegEx = CreateObject("VBScript.RegExp")
Dim oMatches As Object
Dim oMatch As Object

With oRegEx
.Global = True '全局匹配
.IgnoreCase = True '忽略大小写
.Pattern = "<a[^>]*?href=[""' ]?(.*?)(?:""|'| ).[^> ]*?>([\s\S]*?)</a>"
'提取所有A标签的正则式,小括号中是子匹配引用组第一个是 (.*?) 第二个是([\s\S]*?)
Set oMatches = .Execute(s)

If oMatches.Count >= 1 Then
Text2.Text = ""

Dim sHref As String, sInnerText As String

Dim i As Integer

Dim sLink As String

'Dim colLinks As Scripting.Dictionary
'Set colLinks = New Scripting.Dictionary

Dim colLinks As Object
Set colLinks = CreateObject("Scripting.Dictionary")

For Each oMatch In oMatches

sHref = oMatch.SubMatches(0) '(.*?)
sInnerText = oMatch.SubMatches(1) '([\s\S]*?)
sInnerText = RemoveTags(sInnerText) '移除A标签(内容)中的多余标签
sInnerText = Replace(sInnerText, " ", "") '移除A标签(内容)中的所有空格
sLink = "<A href=""" & sHref & """>" & sInnerText & "</A>"

If Not colLinks.Exists(sLink) Then
colLinks.Add sLink, sLink
Text2.Text = Text2.Text & sLink & vbNewLine
End If

Next

End If

End With

Set oMatches = Nothing
Set oMatch = Nothing
Set oRegEx = Nothing
Set colLinks = Nothing
End Sub

'这个函数可以去除HTML代码中的标签
Function RemoveTags(ByVal html As String)

'Dim oRegEx As RegExp
'Set oRegEx = New RegExp
Dim oRegEx As Object

Set oRegEx = CreateObject("VBScript.RegExp")

With oRegEx
.Global = True
.IgnoreCase = True
.Pattern = "<[^>]*>"
RemoveTags = .Replace(html, "")
End With

Set oRegEx = Nothing
End Function

热心网友 时间:2023-09-22 12:49

用正则表达式,查找<a> 与</a>之间的即可,很简单
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 百度知道怎么输入网址链接? 链接网页的“目标”位置有几种 网页链接浏览后的变色问题 word网页链接为什么是红色 QQ上的所有网页链接都打不开,怎么办? 网页链接点击打开后是出现空白页 百度百科送花了吗?o网页链接 人气榜单隔三差五打榜了吗 怎么在我的网页上加链接? 网页链接ACCESS数据库方法 为什么显卡风扇声音大?显卡风扇声音大怎么办? O网页链接打不开 车辆抵押期间可以过户给家人吗? 有抵押的二手车可以过户吗, 显卡风扇怎么加油 抵押车能过户吗??? 显卡风扇究竟怎么吹的 如果一辆车在别的公司抵押贷款了可以提档过户吗? 怎么把抵押车过户到自己名下? 显卡风扇太响,怎么调节? 梦见死去的老人在家里吃鱼 点击网页链接显示javascript:void(0);,打不开链接怎么解决? kbs纪录片 超级中国第四集在哪里可以看有的话发个链接 高中毕业之后就想工作去,有什么工作可以选择? 高中生毕业可以找什么工作? 高中生毕业可以做哪些工作呢? 高中毕业学什么好找工作? 高三毕业生暑假打工 适合找什么工作? 高中刚毕业应该去找什么样的工作? 女生高中毕业可以做什么工作呢? 高中毕业可以做什么工作 我是一个高中毕业生,没有什么专业知识,请问我适合找什么工作? 高中毕业适合做什么工作 高中毕业生找什么工作? 高中毕业找什么工作 高中毕业去学什么技术比较好找工作? 后颈部肿块痛怎么回事 脖子左后方疼痛好像还有点浮肿是怎么回事啊 脖子后面长了个肿块疼 脖子肿了怎么回事 颈部淋巴结肿痛是怎么回事?