您当前的位置: 首页 > 网站编程 > ASP教程 > ASP取出HTML文件中图片地址的函数

ASP取出HTML文件中图片地址的函数

作者:guanchaofeng 来源:不详 发布时间: 2009-03-24 17:30 点击:
以下是取出HTML里面的图片地址的函数: 主要原理就是用正则判断 img 的src属性。这在采集程序中将非常有用。 函数如下: Function ShowPic(str) Set objRegExp = New Regexp'设置配置对象 objRegExp.IgnoreCase = True'忽略大小写 objRegExp.Global = True'

ASP取出HTML文件中图片地址的函数

  以下是取出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="" 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

分享到:
本文"ASP取出HTML文件中图片地址的函数"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4