熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP取出HTML裡面的圖片地址的函數

2013-11-13 09:50:40  來源: .NET編程 
  以下是取出HTML裡面的圖片地址的函數
  
  主要原理就是用正則判斷 <img> 的<src>屬性這在采集程序中將非常有用
  
  函數如下
  
  以下是引用片段
  Function ShowPic(str)
   Set objRegExp = New Regexp設置配置對象
   objRegExpIgnoreCase = True忽略大小寫
   objRegExpGlobal = True設置為全文搜索
   objRegExpPattern = <img+?>
   為了確保能准確地取出圖片地址所以分為兩層配置首先找到裡面的<img>標簽然後再取出裡面的圖片地址後面的getimgs函數就是實現後一個功能的
   strs=trim(str)
   Set Matches =objRegExpExecute(strs)開始執行配置
   For Each Match in Matches
   RetStr = RetStr &getimgs( MatchValue )執行第二輪的匹配
   Next
   ShowPic = RetStr
  End Function
  Function getimgs(str)
   getimgs=
   Set objRegExp = New Regexp
   objRegExpIgnoreCase = True
   objRegExpGlobal = True
   objRegExpPattern = +?取出裡面的地址
   set mm=objRegExpExecute(str)
   For Each Match in mm
   getimgs=getimgs&left(MatchValuelen(MatchValue))&||把裡面的地址串起來備用
   next
  End Function
  取得圖片內容
  function getHTTPPage(url)
   on error resume next
   dim http
   set (MSXMLXMLHTTP)使用xmlhttp的方法來獲得圖片的內容
   Httpopen GETurlfalse
   Httpsend()
   if Httpreadystate<> then
   exit function
   end if
   getHTTPPage=HttpresponseBody
   set http=nothing
   if errnumber<> then errClear
  end function
  保存圖片
  function saveimage(fromtofile)
   dim geturlobjStreamimgs
   geturl=trim(from)
   imgs=gethttppage(geturl)取得圖片的具休內容的過程
   Set objStream = ServerCreateObject(ADODBStream)建立ADODBStream對象必須要ADO 以上版本
   objStreamType =以二進制模式打開
   objStreamOpen
   objstreamwrite imgs將字符串內容寫入緩沖
   objstreamSaveToFile servermappath(tofile)將緩沖的內容寫入文件
   objstreamClose()關閉對象
   set objstream=nothing
  end function
  
  調用實例
  Dim strpicifname
  strpic = ShowPic(<DIV align=center><IMG src=_//gif border=></DIV>)
  strpic = Split(strpic||)
  If UBound(strpic) > Then
   For i = To UBound(strpic)
   保存圖片
   fname=cstr(i&mid(strpic(i)instrrev(strpic(i))))
   saveimage(strpic(i)fname)
   Next
  Else
  End If
From:http://tw.wingwit.com/Article/program/net/201311/11722.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.