</tr><tr>
<td class=tdn>2</td>
<td class=d><a href="http://202.108.23.172/m?ct=134217728&tn=baidusg,月亮代表我的心 &word=mp3,http://www.phscity.com/music/5v3zKvMzlgzz8~ToL-ckBgPn9wT5Ng$$.mp3,,[%D4%C2%C1%C1%B4%FA%B1%ED%CE%D2%B5%C4%D0%C4]&si=%D4%C2%C1%C1%B4%FA%B1%ED%CE%D2%B5%C4%D0%C4;;%B5%CB%C0%F6%BE%FD;;22037;;22037&lm=16777216&sgid=2" title="请点击左键!来源网址: http://www.phscity.com 请参照百度权利声明使用" onclick="return ow(event,this)" target="_blank"><font color="#c60a00">月亮代表我的心</font> </a></td>
<td><a href="http://mp3.baidu.com/singerlist/%B5%CB%C0%F6%BE%FD.html" target="_blank">邓丽君</a> <a href="http://mp3.baidu.com/singerlist/.html" target="_blank"></a> <a href="http://mp3.baidu.com/singerlist/.html" target="_blank"></a> </td>
<td class=al><a href="http://mp3.baidu.com/albumlist/%B5%CB%C0%F6%BE%FD;;;;;;%BE%FD%C9%F9%BD%F1%CA%C0.html" target="_blank">君声今世</a> </td>
<td><a href="http://box.zhangmen.baidu.com/m?gate=1&ct=134217728&tn=baidumt,月亮代表我的心 &word=mp3,http://www.phscity.com/music/5v3zKvMzlgzz8~ToL-ckBgPn9wT5Ng$$.mp3,,[%D4%C2%C1%C1%B4%FA%B1%ED%CE%D2%B5%C4%D0%C4]&si=%D4%C2%C1%C1%B4%FA%B1%ED%CE%D2%B5%C4%D0%C4;;%B5%CB%C0%F6%BE%FD;;22037;;22037&lm=16777216&mtid=2&d=9" onclick="return ot(event,this,'22037')">试听</a> </td>
<td><a href="http://mp3.baidu.com/m?tn=baidump3lyric&word=%B5%CB%C0%F6%BE%FD+%D4%C2%C1%C1%B4%FA%B1%ED%CE%D2%B5%C4%D0%C4&ct=150994944&lm=-1&lf=3" target="_blank">歌词</a> </td>
<td> <a name="ls" href="http://mp3.baidu.com/tr?url=http://my.12530.com/newchannel/orderTone/600902000005377426/2/2703/2703_mp3ss/-/-/order.htm&sn=2&title=%D4%C2%C1%C1%B4%FA%B1%ED%CE%D2%B5%C4%D0%C4;;%B5%CB%C0%F6%BE%FD" onclick="return or(event,this);">铃声</a> </td>
<td>3.2 M</td>
<td>mp3</td>
<td class=spd><img src="http://img.baidu.com/img/mp3/d9.gif"></td>如何得到 "<td class=d><a" 这行 后面的 "月亮代表我的心",
"<td class=d><a" 这行 "&word=mp3" 后面的 URL "http://www.phscity.com/music/5v3zKvMzlgzz8~ToL-ckBgPn9wT5Ng$$.mp3"
"<td><a" 这行 "target="_blank>"后面的 "邓丽君"
"<td class=al><a" 这行 target="_blank"> 后面的 "君声今世"
<td class=tdn>2</td>
<td class=d><a href="http://202.108.23.172/m?ct=134217728&tn=baidusg,月亮代表我的心 &word=mp3,http://www.phscity.com/music/5v3zKvMzlgzz8~ToL-ckBgPn9wT5Ng$$.mp3,,[%D4%C2%C1%C1%B4%FA%B1%ED%CE%D2%B5%C4%D0%C4]&si=%D4%C2%C1%C1%B4%FA%B1%ED%CE%D2%B5%C4%D0%C4;;%B5%CB%C0%F6%BE%FD;;22037;;22037&lm=16777216&sgid=2" title="请点击左键!来源网址: http://www.phscity.com 请参照百度权利声明使用" onclick="return ow(event,this)" target="_blank"><font color="#c60a00">月亮代表我的心</font> </a></td>
<td><a href="http://mp3.baidu.com/singerlist/%B5%CB%C0%F6%BE%FD.html" target="_blank">邓丽君</a> <a href="http://mp3.baidu.com/singerlist/.html" target="_blank"></a> <a href="http://mp3.baidu.com/singerlist/.html" target="_blank"></a> </td>
<td class=al><a href="http://mp3.baidu.com/albumlist/%B5%CB%C0%F6%BE%FD;;;;;;%BE%FD%C9%F9%BD%F1%CA%C0.html" target="_blank">君声今世</a> </td>
<td><a href="http://box.zhangmen.baidu.com/m?gate=1&ct=134217728&tn=baidumt,月亮代表我的心 &word=mp3,http://www.phscity.com/music/5v3zKvMzlgzz8~ToL-ckBgPn9wT5Ng$$.mp3,,[%D4%C2%C1%C1%B4%FA%B1%ED%CE%D2%B5%C4%D0%C4]&si=%D4%C2%C1%C1%B4%FA%B1%ED%CE%D2%B5%C4%D0%C4;;%B5%CB%C0%F6%BE%FD;;22037;;22037&lm=16777216&mtid=2&d=9" onclick="return ot(event,this,'22037')">试听</a> </td>
<td><a href="http://mp3.baidu.com/m?tn=baidump3lyric&word=%B5%CB%C0%F6%BE%FD+%D4%C2%C1%C1%B4%FA%B1%ED%CE%D2%B5%C4%D0%C4&ct=150994944&lm=-1&lf=3" target="_blank">歌词</a> </td>
<td> <a name="ls" href="http://mp3.baidu.com/tr?url=http://my.12530.com/newchannel/orderTone/600902000005377426/2/2703/2703_mp3ss/-/-/order.htm&sn=2&title=%D4%C2%C1%C1%B4%FA%B1%ED%CE%D2%B5%C4%D0%C4;;%B5%CB%C0%F6%BE%FD" onclick="return or(event,this);">铃声</a> </td>
<td>3.2 M</td>
<td>mp3</td>
<td class=spd><img src="http://img.baidu.com/img/mp3/d9.gif"></td>如何得到 "<td class=d><a" 这行 后面的 "月亮代表我的心",
"<td class=d><a" 这行 "&word=mp3" 后面的 URL "http://www.phscity.com/music/5v3zKvMzlgzz8~ToL-ckBgPn9wT5Ng$$.mp3"
"<td><a" 这行 "target="_blank>"后面的 "邓丽君"
"<td class=al><a" 这行 target="_blank"> 后面的 "君声今世"
解决方案 »
- 请问如何在程序里调用存在ACCESS里的参数查询
- 写程序多了会使人反应变得迟钝,不知道大家有没有同感?
- 消息参数
- 如何声明这个API,在线等待
- 怎么把查询纪录在mshflexgrid显示
- 请教一个问题!!“未将对象引用设置到对象的实例。”是什么原因造成的
- vb6.0与 sqlserver2000连接问题
- 关于comboBox控件
- **************很好拿的分,哪儿可以下载3d素材?大家进来帮我,我帮我女友。****************
- 请问如何使向textbox中输入的字符不能超过textbox的宽度呢?
- Timer1.Interval涉及到的TreeView的展开与收缩问题.
- 大家好,我使用vb做了一个activex控件,在网页中不能显示
Set doc = WebBrowser1.Document
Dim i As Long
For i = 0 To doc.All.length - 1
Set tag = doc.All(i)
If UCase(tag.tagName) = "A" Then
Debug.Print tag.innertext
End If
Next i
这样可以枚举超连接之间的内容,如果要的很具体,必须自己通过标志来判断
Dim URLRegExp As String, MailRegExp As String, ChiniRegExp As String
Dim FileName As String, sFile As String, MuName As String, ChansName As String, SpeName As String
Dim i As Long, arr() As String, arr1() As String, arr2() As String
Dim s As Long, j As String, n As String
Open "c:\temp.html" For Input As #1
Do While Not (EOF(1))
Line Input #1, sFile
sFile = Replace(sFile, " ", ",")
sFile = Replace(sFile, "<", ">")
If Left(sFile, 14) = ">td class=d>>a" Then '歌名 and URL
arr = Split(sFile, ",")
MuName = MuName & "歌名:" & arr(1) & " URL:" & arr(3) & vbCrLf
End If
If Right(sFile, 31) = "target=""_blank"">>/a> >/td>" Then '歌手名
arr1 = Split(sFile, ">")
ChansName = ChansName & "歌手名:" & arr1(4) & vbCrLf
End If
If Left(sFile, 15) = ">td class=al>>a" Then '专辑名
arr2 = Split(sFile, ">")
SpeName = SpeName & "专辑名:" & arr2(4) & vbCrLf
End If
Text1.Text = MuName & vbCrLf & ChansName & vbCrLf & SpeName & vbCrLf
Loop
Close #1
End Sub
Private Sub Form_Load()
Dim b, s, st, nextline As String
Open "G:\123.txt" For Input As #1 '文本在"G:\123.txt"中
Do Until EOF(1)
Line Input #1, nextline
b = b & nextline
Loop
Close #1
Dim re As RegExp
Dim mh As Match
Dim mhs As MatchCollection
Set re = New RegExp
re.Global = True
re.Pattern = "<td class=.+?</td>"
Set mhs = re.Execute(b)
For Each mh In mhs
st = st & mh.Value
Next
re.Pattern = ">[\u4e00-\u9fa5]+.+?<"
Set mhs = re.Execute(st)
For Each mh In mhs
Debug.Print mh.Value
s = mh.Value
s = Left(s, Len(s) - 1)
s = Right(s, Len(s) - 1)
Debug.Print s
Next
第二首 对应得到 歌曲名 歌手名 专辑名 URL地址:里面搜索到的第三第四首是没有 歌手名 专辑名 那就让它空
如:月亮代表我的心, , ,http://vietnamese.cri.cn/mmsource/audio/2004/05/20/nqGiojU$.mp3
我要的正确的信息如下
月亮代表我的心,邓丽君,君再来,http://vietnamese.cri.cn/mmsource/audio/2004/05/20/nqGiojU$.mp3 3楼的高人
只可以得到
月亮代表我的心</font>
世纪情歌之谜</a> 能否帮我按上面的要求写呢? 谢谢
Dim b, s, st, nextline As String
Open App.Path & "\123.txt" For Input As #1
Do Until EOF(1)
Line Input #1, nextline
b = b & nextline
Loop
Close #1
Dim re As RegExp
Dim mh As Match
Dim mhs As MatchCollection
Set re = New RegExp
re.Global = True
re.Pattern = "<td.+?</td>"
Set mhs = re.Execute(b)
For Each mh In mhs
st = st & mh.Value
Next
re.Pattern = ">[\u4e00-\u9fa5]+.+?<"
Set mhs = re.Execute(st)
For Each mh In mhs
s = mh.Value
s = Left(s, Len(s) - 1)
s = Right(s, Len(s) - 1)
If Left(s, 2) = "试听" Then s = ""
If Left(s, 2) = "歌词" Then s = ""
If Left(s, 2) = "铃声" Then s = ""
If s <> "" Then Debug.Print s
Next
End Sub我将3楼老大的代码改了,直接得到想要的结果:
月亮代表我的心
邓丽君
君声今世
一种是比较高级的引用 Microsoft HTML Object Library来直接访问相应HTML Object的属性。
另一种就是先通过各种手段(很多的,inet,winsck,webbrowser,htmlxml...)先得到网页的源码,然后通过以下两种方式获得你要的信息:
1.比较笨(但最原始,适合不懂正则的人),就是使用普通的字符串处理函数(instr,mid即可)得到你想要的。
2.比较Advance,就是正则了,关于正则这东东,我想说,很好很强大。没有正在基础的人可以到我的博客上去看看。
给你们把链接贴上:
轻松正则表达式
正则表达式规则
enjoy it