中国设计秀欢迎投稿
中国设计秀设计资源站
平面设计 画册 VI欣赏 包装 CG-插画 搜索 个人网页 Alexa排名 CSS 建站资源 下载专区 JS特效 品牌服装 服装院校 专题欣赏 SEO 图标欣赏 专题
广州网站设计 维美网站建设 域名注册 虚拟主机 广州网站建设 广州网页设计 虚拟主机 域名注册 素材下载 广告服务 大中华erp网 网站推广 家具中国 娱乐
求创科技
中国设计秀
中国福网
金视觉
联动天下
中国设计秀欢迎你
中国设计秀
资源下载
当前位置:网络学院首页 >> 编程开发 >> asp >> ASP取出HTML里面的图片地址的函数

ASP取出HTML里面的图片地址的函数

来源:中国设计秀    作者:    点击:155     加入收藏    发表评论
0
顶一下
关键字:asp
中资源

  以下是取出HTML里面的图片地址的函数:
  
  主要原理就是用正则判断 <img> 的<src>属性。这在采集程序中将非常有用。
  
  函数如下:
  
  以下是引用片段:
  Function ShowPic(str)
   Set objRegExp = New Regexp'设置配置对象
   objRegExp.IgnoreCase = True'忽略大小写
   objRegExp.Global = True'设置为全文搜索
   objRegExp.Pattern = "<img.+?>"
   '为了确保能准确地取出图片地址所以分为两层配置:首先找到里面的<img>标签,然后再取出里面的图片地址后面的getimgs函数就是实现后一个功能的。
   strs=trim(str)
   Set Matches =objRegExp.Execute(strs)'开始执行配置
   For Each Match in Matches
   RetStr = RetStr &getimgs( Match.Value )'执行第二轮的匹配
   Next
   ShowPic = RetStr
  End Function
  Function getimgs(str)
   getimgs=""
   Set objRegExp1 = New Regexp
   objRegExp1.IgnoreCase = True
   objRegExp1.Global = True
   objRegExp1.Pattern = "http://.+?"""'取出里面的地址
   set mm=objRegExp1.Execute(str)
   For Each Match1 in mm
   getimgs=getimgs&left(Match1.Value,len(Match1.Value)-1)&"||"'把里面的地址串起来备用
   next
  End Function
  '取得图片内容
  function getHTTPPage(url)
   on error resume next
   dim http
   set http=server.createobject("MSXML2.XMLHTTP")'使用xmlhttp的方法来获得图片的内容
   Http.open "GET",url,false
   Http.send()
   if Http.readystate<>4 then
   exit function
   end if
   getHTTPPage=Http.responseBody
   set http=nothing
   if err.number<>0 then err.Clear
  end function
  '保存图片
  function saveimage(from,tofile)
   dim geturl,objStream,imgs
   geturl=trim(from)
   imgs=gethttppage(geturl)'取得图片的具休内容的过程
   Set objStream = Server.CreateObject("ADODB.Stream")'建立ADODB.Stream对象,必须要ADO 2.5以上版本
   objStream.Type =1'以二进制模式打开
   objStream.Open
   objstream.write imgs'将字符串内容写入缓冲
   objstream.SaveToFile server.mappath(tofile),2'-将缓冲的内容写入文件
   objstream.Close()'关闭对象
   set objstream=nothing
  end function
  
  '调用实例
  Dim strpic,i,fname
  strpic = ShowPic("<DIV align=center><IMG src=""http://img.knowsky.com/img/knowskylogo.gif"" border=0></DIV>")
  strpic = Split(strpic,"||")
  If UBound(strpic) > 0 Then
   For i = 0 To UBound(strpic) - 1
   '保存图片
   fname=cstr(i&mid(strpic(i),instrrev(strpic(i),".")))
   saveimage(strpic(i),fname)
   Next
  Else
  End If

热点文章/相关文章
关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明 | 网站公告 | 友情链接 | 留言 | 旧版入口