校园学生学习娱乐资源第一门户 校园第一站 源于校园 服务于校园 分享资源和快乐 网站地图 高级搜索 RSS订阅 收藏本站 设为首页
首页 | 校园 | 教育 | 考试 | 电脑 | 英语 | 读书 | 就业 | 论文 | 体育 | 健康 | 图片 | 分类信息
Q Q | 下载 | 游戏 | 音乐 | 影视 | 专题 | 祝福 | 百科 | 问答 | 博客 | 会员 | 社区 | 校园论坛
·偶像剧免费在线收看
·DEDECMS免费模板规则下载
·
·全能空间、网站建设仅200
XML | 文章搜索:
  当前位置: 主页>电脑>网络编程>ASP> 文章正文

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

http://www.xydyz.com 来源:校园第一站 2007-10-23 阅读: 评论


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




【责任编辑:admin 】




评论
用户名: 新注册) 密码: 匿名评论
评论内容:不能超过250字,请自觉遵守互联网相关政策法规。
  相关文章
如何用ASP生成XML数据文档(RSS订阅)
ASP Session对象的集合以及属性方法事件
访问IIS虚拟目录需要权限的解决办法
ASP函数库
新手入门:防范SQL注入攻击的新办法
  最新图片
为自己的ASP网站系统构建一套标记语言
为自己的ASP网站系统
24小时TOP
   
·AspJpeg组件下载注册码及用途
·“Operation Must Use an Updateable Query
·Web在线代理(Asp版)
·asp分页代码
·用文本+ASP打造新闻发布系统
·ASP二进制流方法隐藏图片文件真实地址
·ASP函数库
·彻底解决“Microsoft JET Database Engine
热门图片
  更多>>>
为自己的ASP网站系统构建一套标记语言
为自己的ASP网站系
焦点聚焦
  更多>>>
 
论坛精华
  更多>>>
·真钱斗地主轧金花龙虎板玖和百家乐http://c
·22岁女大学生要嫁48岁乞丐(图)
·一条短信毁了一种水果 “蛆橘”传言流变调
·蒙古风情十四怪 (一)
·《中国高新技术企业》--www.txrb.com--科信
·东莞大金空调官方介绍 13559702882卢生
·乐众国际最新博彩游戏!真实!新鲜!刺激!
·快国庆了大家怎么安排
最新图片
  更多>>>
为自己的ASP网站系统构建一套标记语言
为自己的ASP网站系
推荐文章
  更多>>>
·为自己的ASP网站系统构建一套标记语言
关于我们 - 版权声明 - 免责声明 - 欢迎投稿 - 广告服务 - 友情链接 - 网站建设 - 诚聘英才 - 联系我们 - -
Copyright @2007-2009 www.xydyz.com © All rights reserved.
校园第一站 版权所有 客服E-Mail:hyperblue@163.comn 点击这里给我发消息
Site design by hyperblue 鄂ICP备07009403号 Powered by DedeCms