广

ASP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-04-16 10:56:24 次阅读 稿源:互联网
    零七广告

      以下是取出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.cnd8.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

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告