当前位置:编程学习 > VB >>

硊求:抓取网页数据

网页中含有:
 <a class="icolink-a" title="分析情况" href="viewthread.php?tid=1075339&extra=page%3D14" target="_blank">分析</a>
 <a class="icolink-a" title="巧借手段" href="viewthread.php?tid=1075415&extra=page%3D14" target="_blank">巧借</a>
........共20条
其中<a class="icolink-a" title= 是固定的
抓取后生成:
TEXT.TEXT1=http://PPC.PHP/viewthread.php?tid=1075339&extra=page%3D14
TEXT.TEXT2=http://PPC.PHP/viewthread.php?tid=1075415&extra=page%3D14
.......
TEXT.TEXT20=

救教代码


Patern="title=""(?:.*?)"" href=""(.*?)"""
不复杂。 用正则,很简单,不会的话就用vb内置的字符串处理函数。
引用 2 楼 sysdzw 的回复:
用正则,很简单,不会的话就用vb内置的字符串处理函数。
++ 火车头 太easy了,看懂也就几个小时的事。
引用 4 楼 zhaoyun0209 的回复:
火车头 太easy了,看懂也就几个小时的事。
那个注册要不少费用的,普通的采集可以,较难的规则复杂的搞不定的,用自己所学为自己所用,我们每个人都是火车头。 断续求高手解答! '此代码由“正则测试工具 
 v1.1.35”自动生成,请直接调用TestReg过程
Private Sub TestReg()
    Dim strData As String
    Dim reg As Object
    Dim matchs As Object, match As Object

    strData = " <a class=""icolink-a"" title=""分析情况"" href=""viewthread.php?tid=1075339&extra=page%3D14"" target=""_blank"">分析</a>" & vbCrLf & _
              " <a class=""icolink-a"" title=""巧借手段"" href=""viewthread.php?tid=1075415&extra=page%3D14"" target=""_blank"">巧借</a>"

    Set reg = CreateObject("vbscript.regExp")
    reg.Global = True
    reg.IgnoreCase = True
    reg.MultiLine = True
    reg.Pattern = "class=""icolink-a"" title="".*?"" href=""viewthread.php\?(.+?)"""
    Set matchs = reg.Execute(strData)
    For Each match In matchs
        'Debug.Print match.Value
        Debug.Print "http://PPC.PHP/viewthread.php?" & Replace(match.SubMatches(0), "&", "&")
    Next
End Sub
输出:
http://PPC.PHP/viewthread.php?tid=1075339&extra=page%3D14
http://PPC.PHP/viewthread.php?tid=1075415&extra=page%3D14 '此代码由“正则测试工具  v1.1.35”自动生成,请直接调用TestReg过程
Private Sub TestReg()
    Dim strData As String
    Dim reg As Object
    Dim matchs As Object, match As Object

    strData = " <a class=""icolink-a"" title=""分析情况"" href=""viewthread.php?tid=1075339&extra=page%3D14"" target=""_blank"">分析</a>" & vbCrLf & _
              " <a class=""icolink-a"" title=""巧借手段"" href=""viewthread.php?tid=1075415&extra=page%3D14"" target=""_blank"">巧借</a>"

    Set reg = CreateObject("vbscript.regExp")
    reg.Global = True
    reg.IgnoreCase = True
    reg.MultiLine = True
    reg.Pattern = "class=""icolink-a"" title="".*?"" href=""viewthread.php\?(.+?)"""
    Set matchs = reg.Execute(strData)
    For Each match In matchs
        'Debug.Print match.Value
        Debug.Print "http://PPC.PHP/viewthread.php?" & Replace(match.SubMatches(0), "&", "&")
    Next
End Sub
感谢上一楼,但恕我太笨,看不太懂。
如取:http://www.cssjb.com/forum-8-3.html
实现:
   取得第二个帖子的URL链接及标题(从网页源代码中获取)
引用 9 楼 graice58 的回复:
感谢上一楼,但恕我太笨,看不太懂。
如取:http://www.cssjb.com/forum-8-3.html
实现:
  取得第二个帖子的URL链接及标题(从网页源代码中获取)
上面的代码是针对你提出的问题的,不带你这样随便换问题的。上面那个是最基础的最简单的,这个带网址的即便写了你还是不懂,消化完那片代码再说吧。 href="(.+?)" onclick="atarget\(this\)" class="xst" >(.+?)</a> 哥们,我对正则不太懂,又没个注释,我还要学习起来
引用 10 楼 sysdzw 的回复:
引用 9 楼 graice58 的回复:
感谢上一楼,但恕我太笨,看不太懂。
如取:http://www.cssjb.com/forum-8-3.html
实现:
取得第二个帖子的URL链接及标题(从网页源代码中获取)
上面的代码是针对你提出的问题的,不带你这样随便换问题的。上面那个是最基础的最简单的,这个带网址的即便写了你还是不懂,消化完那片代码再说吧。

希望能用 提取http://www.cssjb.com/forum-8-3.html
写个例子
引用 12 楼 graice58 的回复:
哥们,我对正则不太懂,又没个注释,我还要学习起来
那阁下意思就是找个苦力免费干活了。。论坛是讨论交流问题的地方,不是免费劳动力市场。 经测试只能获取到网页最后一条
补充:VB ,  网络编程
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,