标题:excel导出页面url方法
-------------------------------------------------------------------------------------------------------------------------------
时间:2011/12/18 0:22:50
-------------------------------------------------------------------------------------------------------------------------------
内容:
同样使用vba 输入你的要的url就可以得到页面所有url的链接的文字
Sub extracturl()
Dim tmp() As String, i As Integer, g As Integer, j As Integer, arr() As String, xmlhttp As Object, m&, url
' Range("A2").Select
' Range(Selection, Selection.End(xlDown)).Select
' Selection.Copy
' Range("B1").Select
' Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
' False, Transpose:=True
j = WorksheetFunction.CountA([a:a])
For g = 2 To j
Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
With xmlhttp
'不管带不带http一律整理为带http格式网站
url = "http://" & Replace(Cells(g, 1), "http://", "")
.Open "get", url, False
.send
'分割符"
'xmlhttp.responsebody = StrConv(xmlhttp.responsebody, vbUnicode, &H804)
tmp = Split(.responsetext, "<a ")
End With
For i = 1 To UBound(tmp)
m = m + 1
ReDim Preserve arr(1, 1 To m)
arr(0, m) = Split(Split(tmp(i), "href=")(1), ">")(0)
On Error Resume Next '防止不规范的a标签 不带href 就会出错
arr(0, m) = Replace(arr(0, m), """", "") 'remove"
arr(0, m) = Replace(arr(0, m), "'", "") 'remove'
arr(0, m) = Split(arr(0, m), " ")(0) 'remove space
arr(1, m) = Split(Split(tmp(i), ">")(1), "<")(0)
arr(1, m) = Trim(arr(1, m))
Next
Erase tmp
For i = 1 To m
Cells(i, 2) = arr(0, i)
Cells(i, 3) = arr(1, i)
Next
Erase arr
Set xmlhttp = Nothing
m = 0
Next
End Sub
a2输入url就可以了