vb 获取一个网页内的链接和链接名称

vb 获取一个网页内的链接和链接名称,把所有显示在listbox 中,每条显示比如:百度|http://baidu.com
请问VB代码怎么写

1、先将网页另存到本机,假设文件名为ABC.HTM,保存在C盘根目录下;
2、用VB读取存好的ABC.HTM文件的全部内容到一个变量或文本框;
3、用搜索函数InStr()和取字串的函数Mid()来抽取出介于“>”和“</A>”之间的文本,就是超链接的文字;抽取“href=”和空格之间的内容,就是链接的URL。
代码如下:(在窗体添加一个按钮Command1,一个文本框Text1,将Multiline属性设置为True,ScrollBars设置为Virtical)
Private Sub Command1_Click()
Dim htmltext As String, aLine As String
Dim linkText As String, linkURL As String
Open "C:\ABC.HTM" For Input As #1
Do While Not EOF(1)
Line Input #1, aLine
htmltext = htmltext & aLine
Loop
htmltext = LCase(htmltext)
Close
Open "C:\links.csv" For Output As #1
Dim pos1 As Integer, pos2 As Integer
pos1 = InStr(1, htmltext, "href=")
Do While pos1 > 0
htmltext = Mid(htmltext, pos1 + 5)
pos1 = 1
pos2 = InStr(pos1, htmltext, " ")
linkURL = Mid(htmltext, pos1, pos2 - pos1)
If InStr(linkURL, ">") > 0 Then
pos2 = InStr(pos1, htmltext, ">")
linkURL = Mid(htmltext, pos1, pos2 - pos1)
End If
linkURL = Replace(linkURL, """", "")
linkURL = Replace(linkURL, "'", "")
pos1 = InStr(pos2, htmltext, ">")
pos2 = InStr(pos1, htmltext, "</a>")
linkText = Mid(htmltext, pos1 + 1, pos2 - pos1 - 1)
If Left(linkText, 4) = "<img" Then linkText = "图片链接"
Text1.Text = Text1.Text & linkText & " ---- " & linkURL & vbCrLf
Print #1, linkText & "," & linkURL
pos1 = InStr(pos2, htmltext, "href=")
Loop
Close
MsgBox "在C盘根目录下找到 links.csv ,双击即可看到你想要的。", , "提取完毕"
Unload Me
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-02-25
用webbrowser控件载入网页。
在它的"载入完成"事件里写如下代码:

dim n as long,i as long
n=web1.document.getElementsByTagName("A").count '页面上总共几个链接
for i=0 to (n-1)
list1.addItem web1.document.getElementsByTagName("A")(i).innerText & "|" & web1.document.getElementsByTagName("A")(i).href '取它的文字和URL并放入list1列表
next

参考:
javascript:alert(document.getElementsByTagName("A")[0].href);本回答被提问者采纳
相似回答