以下代码将读取IDC圈网四川IDC的所有服务商链接,其工作流程是先读取IDC商名字列表页,再从详细页中读取网址信息,学习抓取和正则的一定要收藏哈。
代码详见内页看,在asp环境下测试通过。

<%
pagebody=httpget("http://dh.idcquan.com/sichuan/")
a1="并正在开展IDC业务的企业"
a2="</table>"
tmpbody=cutestr(pagebody,a1,a2)
Set reg=New RegExp
reg.IgnoreCase = True 
reg.Global = True 
reg.MultiLine = True 
reg.Pattern = "<a.+?href=(['""]?)([^>\s]+)\1.*?>([\S\s]+?)<\/a>"
Set MC = reg.Execute(tmpbody)
For Each m In MC 
ckURL = m.SubMatches(1)
idcname = m.SubMatches(2)
a1="网  址</STRONG>:"
a2="</TD>"
pagebody=httpget(ckURL)
urlinfo=cutestr(pagebody,a1,a2)
response.Write idcname & "&nbsp;&nbsp;&nbsp;&nbsp;" & urlinfo & vbcrlf & "<br>"
Next 
'完
function cutestr(str,s1,s2)
on error resume next
l1=instr(str,s1)+len(s1)
l2=instr(l1,str,s2)
cutestr=mid(str,l1,l2-l1)
end function
 
function httpget(url)
on error resume next
set xmlhttp=createobject("Msxml2.XMLHTTP")
xmlhttp.open "GET",url,False
xmlhttp.send
httpget = BytesToBstr(xmlhttp.ResponseBody)
set xmlhttp=nothing
end function
 
Function BytesToBstr(body)
  set objstream = Server.CreateObject("adodb.stream")
  objstream.Type = 1
  objstream.Mode =3
  objstream.Open
  objstream.Write body
  objstream.Position = 0
  objstream.Type = 2
  objstream.Charset = "GB2312" 
  BytesToBstr = objstream.ReadText 
  objstream.Close
  set objstream = nothing
End Function
%>

Original resource:Click here

随机文章

engadget发布上周android系统更新摘要
engadget发布上周android系统更新摘要

百度“道招”这个关键字现在终于第一页
百度“道招”这个关键字现在终于第一页

IOS版One Today上线
IOS版One Today上线

谷歌生日,9月27日?
谷歌生日,9月27日?

PHP版Google People API的坑
PHP版Google People API的坑

相关文章

Java基础第十七讲:异常处理(一)
Java基础第十七讲:异常处理(一)

破解联通(网通)宽带我世界帐号
破解联通(网通)宽带我世界帐号

微软针对windows7用户发布IE10
微软针对windows7用户发布IE10

windows下xampp的mysql中文乱码
windows下xampp的mysql中文乱码

内容分享:道招
本文链接:asp获取网页所有链接代码
道招声明:除特别标注或作者不详外,本站所有文章均为原创,转载请注明。欢迎共同关注互联网!