VB如何获取下面代码中指定链接地址

1、<div class="txt_tou">
<b title="AAAAAAAAA" target="_blank" style="cursor:pointer;" onclick="document.location.href='/Loan/CateInfo.aspx'" class="SubL20"></b>
<b title="BBBBBBBB">CCC</b><a href="Detail.aspx?sid=14122723275087392039730012006534" title="ssss" target="_blank" class="lf">
DDDD
</a>
</div>
2、<div class="txt_tou">
<b title="AAAAAAAAA" target="_blank" style="cursor:pointer;" onclick="document.location.href='/Loan/CateInfo.aspx'" class="SubL20"></b>
<a href="Detail.aspx?sid=14122723275087392039730012009878" title="ssss" target="_blank" class="lf">
DDDD
</a>
</div>
一个网页里有很多段这样的代码,DDDD字符串会变,第2段比第一段少了<b title="BBBBBBBB">CCC</b>,怎样只找出第二段中Detail.aspx?sid=14122723275087392039730012009878这个链接,谢谢!

第1个回答  2015-01-01
Private Sub Command1_Click()
    Dim S As String, S1 As String, i As Long, j As Long
    Dim Tz1 As String, Tz2 As String
    Tz1 = "class=""SubL20""></b>"
    Tz2 = " class=""lf"">"
    S = "<div class="txt_tou">...."‘请在这里修改为上述网页代码,以便下面分析
    i = InStr(1, S, Tz1, vbTextCompare)
    Do While i > 0
        j = InStr(i + Len(Tz1), S, Tz2, vbTextCompare)
        S1 = Mid(S, i, j - i)
        i = InStr(1, S1, "<b title=", vbTextCompare)
        If i = 0 Then
            Tz1 = "<a href="""
            i = InStr(1, S1, Tz1, vbTextCompare)
            S1 = Mid(S1, i + Len(Tz1))
            i = InStr(S1, """")
            S1 = Left(S1, i - 1)
            MsgBox "你要找的网页链接是:" & S1
            Exit Do
        End If
        i = InStr(j + Len(Tz2), S, Tz1, vbTextCompare)
    Loop

第2个回答  2016-01-19
Private Sub Command1_Click()
WebBrowser1.Navigate "https://www.baidu.com/s?wd=混胶机"
End Sub
Private Sub List1_Click()
Text1.Text = List1
Text2.Text = List1.ListIndex                      'list1选中行行数
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
List1.Clear
Dim Document, i, s1, s2
For i = 0 To WebBrowser1.Document.links.length - 1
s1 = WebBrowser1.Document.links(i).href
s2 = WebBrowser1.Document.links(i).innertext
List1.AddItem s2 & " : " & s1
Next
End Sub

第3个回答  2014-12-28
首先获得网页源代码的字符串,然后用正则匹配出所有的超链接即可。
如果只要第二个超链接,可以只取出上面的匹配结果集合中的第二项。
第4个回答  2015-01-03
Dim AObj As Object
Dim NewAObj As Object
Dim temp As String

Private Sub Command1_Click()
Set AObj = WebBrowser1.Document.getElementsByTagName("a")
For Each NewAObj In AObj
temp = Trim(NewAObj.innerhtml)
If temp = "ssss" Then
text1.text = NewAObj
End If
Next
End Sub
第5个回答  2014-12-28

你用正则匹配:

Detail\.aspx\?sid=\d+

就可以了

追问

你这是吧全部链接找出来,我要找特定的!

追答

先匹配DIV
然后过滤掉带有BBBBBBBB的
最后提取链接

相似回答