贴个"批量获取网页里的链接地址"

websking 2008-02-28 10:53:16
<%

' SqlDataBase = "../database/zz.mdb" '数据库路径
' SqlProvider = "Microsoft.Jet.OLEDB.4.0" '驱动程序[ Microsoft.Jet.OLEDB.4.0 Microsoft.ACE.OLEDB.12.0 ]
' Connstr="Provider="&SqlProvider&";Data Source="&Server.MapPath(SqlDataBase)

'Set Conn=Server.CreateObject("ADODB.Connection")
'Conn.open ConnStr
'Set Rs = Server.CreateObject("ADODB.Recordset")
'================================================
'函数名:GetHTTPPage
'作 用:获取HTTP页
'参 数:url ----远程URL
'返回值:远程HTML代码
'这段是别人写的,
'================================================
Public Function GetRemoteData(ByVal URL, ByVal Cset)
If Len(Cset) < 2 Then Cset = "GB2312"

Dim strHeader
Dim l

On Error Resume Next

Dim Retrieval
Dim ObjStream
Set ObjStream = CreateObject("ADODB.Stream")
ObjStream.Type = 1
ObjStream.Mode = 3
ObjStream.Open
Set Retrieval = CreateObject("MSXML2.XMLHTTP")
With Retrieval
.Open "GET", URL, False
.setRequestHeader "Referer", URL
.send
If .readyState <> 4 Then Exit Function
If .Status > 300 Then Exit Function
'--获取目标网站文件头
strHeader = .getResponseHeader("Content-Type")
strHeader = UCase(strHeader)
ObjStream.Write (.responseBody)
End With
Set Retrieval = Nothing

If Len(strHeader) > 0 Then
'--获取目标文件编码
l = InStrRev(strHeader, "CHARSET=", -1, 1)
If l > 0 Then
Cset = Right(strHeader, Len(strHeader) - l - 7)
Else
Cset = Cset
End If
End If

ObjStream.Position = 0
ObjStream.Type = 2
ObjStream.Charset = Trim(Cset)
GetRemoteData = ObjStream.ReadText
ObjStream.Close
Set ObjStream = Nothing
Exit Function
End Function
'================================================
'函数名:CutFixed
'作 用:截取固定的字符串
'参 数:strHTML ----原字符串
' start ------ 开始字符串
' last ------ 结束字符串
'================================================
Public Function CutFixed(ByVal strHTML, ByVal start, ByVal last)
Dim s
Dim Match
Dim strPattern
Dim strContent
Dim t, l

t = Len(start): l = Len(last)
If t = 0 Or l = 0 Then Exit Function

strPattern = "(" & CorrectPattern(start) & ")(.+?)(" & CorrectPattern(last) & ")"

On Error Resume Next

Dim re
Set re = New RegExp
re.IgnoreCase = False
re.Global = False
re.Pattern = strPattern

Set s = re.Execute(strHTML)
For Each Match In s
strContent = Match.Value
Next

Set s = Nothing
Set re = Nothing
CutFixed = Mid(strContent, t + 1, Len(strContent) - l - t)
Exit Function
End Function

Private Function CorrectPattern(ByVal str)
str = Replace(str, "\", "\\")
str = Replace(str, "~", "\~")
str = Replace(str, "!", "\!")
str = Replace(str, "@", "\@")
str = Replace(str, "#", "\#")
str = Replace(str, "%", "\%")
str = Replace(str, "^", "\^")
str = Replace(str, "&", "\&")
str = Replace(str, "*", "\*")
str = Replace(str, "(", "\(")
str = Replace(str, ")", "\)")
str = Replace(str, "-", "\-")
str = Replace(str, "+", "\+")
str = Replace(str, "[", "\[")
str = Replace(str, "]", "\]")
str = Replace(str, "<", "\<")
str = Replace(str, ">", "\>")
str = Replace(str, ".", "\.")
str = Replace(str, "/", "\/")
str = Replace(str, "?", "\?")
str = Replace(str, "=", "\=")
str = Replace(str, "|", "\|")
str = Replace(str, "$", "\$")
CorrectPattern = str
End Function

'写入数据开始

Sub vnumstr(valplugin)
sql="Select * from zz where add_url='"&valplugin&"'"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open sql, Conn, 1, 3
If rs.bof or rs.eof Then
Rs.AddNew
rs("add_url")=valplugin
rs("add_createtime1")=Now()
rs.update
End if

rs.close
Set rs=Nothing
End Sub

'写入数据结束
Set re = New RegExp
gets=trim(request("gets"))

homes=split(gets,"/")
homesn=ubound(homes)
'response.write homesn
for i=0 to homesn-1
homesn=homes(2)&"/"&homes(i)
Next

strContent = LCase(replace(GetRemoteData(gets, "GB2312"),"""",""))
sfs=split(strContent,"<a")
sfsa=ubound(sfs)
for sfsaa=0 to sfsa
re.Pattern ="(<a )"
strContent = re.Replace(sfs(sfsaa), "qian")
re.Pattern ="(\/a>)"
strContent = re.Replace(strContent, "hou")
re.Pattern ="( target=)"
strContent = re.Replace(strContent, "")
strContent = Replace(Replace(Replace(Replace(Replace(Replace(strContent, "_blank",""),"'",""),"_self",""),"_parent",""),"_top",""),"blank","")
'response.write strContent
valplugin = CutFixed(strContent, "qian", "hou")
valplugin = CutFixed(strContent, "href=", ">")
valpluginN=InStr(valplugin," ")
If valpluginN>0 then
valpluginvv=Split(valplugin," ")
valplugin=valpluginvv(0)
End If
valpluginJ=InStr(valplugin,"javascript:")
If valpluginJ>0 then
valpluginv=Split(valplugin,"javascript:")
valplugin=valpluginv(0)
End if
if left(valplugin,4)<>"http"then
if left(valplugin,1)="/" then
valplugin="http://"&homes(2)&valplugin
elseif left(valplugin,3)="../" then
valplugin="http://"&homes(2)&replace(valplugin,"../","/")
else
valplugin="http://"&homes(2)&"/"&valplugin
end If
Else
valplugin=valplugin

end if
'Call vnumstr(valplugin)
response.write valplugin&"<BR>"
Next
%>


写得不好,还会出现好多问题,欢迎测试后修正,并把OK的也贴上来,给我一份,谢谢

...全文
158 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
websking 2008-02-28
  • 打赏
  • 举报
回复
Demo:http://210.51.15.18/1//zz.asp?gets=http://www.sohu.com
网页图片保存能手 9.8.5.0 网页图片保存能手是一款网页图片保存免费软件。它可以非常方便快速批量保存网页上的多张图片。 本软件还可以自动批量保存网络相册图片。 通常要保存网页上的图片,需要一张张地用鼠标右键另存为,这样做费时费力。 如果以保存整个网页的格式保存下来则不管什么大小的图片包括不想要的图片也会保存下来。 使用网页图片保存能手可以让你迅速过滤筛选出自己选要的图片,点击一次保存, 网页上的数十张甚至上百张图片就一块保存到指定的文件夹,还可以生成网页图片信息文件,添加图片文字说明注释。 本软件适用于IE浏览器,傲游浏览器,世界之窗,绿色浏览器, 腾讯TT浏览器,MiniIE,GoSurf,Thooe随E浏览器,360浏览器,糖果浏览器,28winning,极速浏览器,火星浏览器,中易浏览器,搜狗浏览器。 软件特色: 1)可以直接在IE浏览器工具栏上点击图标启动 2)可以对网页图片方便地进行选取,包括图片大小筛选和手工点击筛选,只保存想要的图片 3)可以将多个网页上的图片合并保存(在界面上将 合并 选项打上勾再摘图) 4)保存数十张甚至上百张图片通常只需要点击“保存”按纽1次。 5)操作方法简单,浏览网页看到想保存的图片,在IE工具栏启动本程序后再点击保存即可。 6)4.0版本支持IE 7.0,要摘录多个网页标签中的某一个网页的图片,只需将网页标签切换到该网页再摘录即可。 7)4.6修改了在IE工具栏不显示图标的问题 8)4.7增加了按序号保存图片功能。可以指定图片文件的前缀。 9)4.8解决了与web迅雷同时运行时出错的问题 10)5.0增加显示图片网址,贴图代码,便于在论坛发贴贴图。可以显示/隐藏图片宽高。可以设置图片网址过滤条件。 11)6.0可以处理图片外部链接,通过小图来获取大图。增加自动获取图片,包括自动点击取图,定时间隔取图,多网页合并取图。 可以将图片文件与信息打包成zip文件。 12)6.5可以在网页上通过鼠标右键来调用,支持腾讯TT浏览器,MiniIE,GoSurf,Thooe随E浏览器。 13)6.6支持360安全浏览器。修改了图片类型自动识别和本地网页横排显示图片的问题 14)7.0修改了定时间隔取图错误,增强了自动抓图功能,软件可以智能升级。 15)7.2增加日期时间+序号选项和特殊图片处理选项 16)7.4兼容vista和傲游2.1.3奥运专用版本 17)7.5增加通过网址转换来进行小图取大图 18)7.6增强功能界面添加图片宽高设置,取图(alt+G)和存盘(alt+S) 19)7.7恢复了图片分类保存,修改了某些存盘错误 20)7.8支持最新IE8 beta2浏览器 21)7.9支持通过键盘按键换图图集的自动获取 22)8.0增加了取图存盘切换操作热键设置,修改了界面与一些程序错误 23)8.2支持增强功能配置文件的保存与读取,支持全屏截图,修正一些错误 24)8.3支持网页背景图片的获取 25)8.4修改8.3第一次使用没有设置存盘目录不能存盘的问题 26)8.5增强网址生成器, 支持360浏览器的超强安全模式,自动点击回退模式和每次存盘都询问保存目录选项 27)8.6增加根据jscript,onclick,链接代码自动取图 28)8.7增加了快速预览模式和历史记录,解决图片重复保存问题 29)8.8提供外部浏览器接口,增强网页链接查看器和网址替换功能 30)8.9支持糖果浏览器和28winning浏览器,强化多网页取图功能 31)9.0增加模拟鼠标点击取图,提供第三方下载软件批量下载接口 32)9.1支持极速浏览器,强化了鼠标模拟点击功能 33)9.2支持深层框架网页的取图。 34)9.3支持火星浏览器,中易浏览器,傲游2.5.1 35)9.4支持本地网页图片的转存,可以升级到测试版 36)9.5支持搜狗浏览器,修改预览区图片用滚轮缩放后不能正常保存的问题 37)9.6兼容傲游2.5.2测试版,允许获取重复图片,增加取图完成提示,修改了一个固定点击错误。附带的缓存图片查看器升级到1.5版本,可以按网址或访问时间排序,可以保存非图片类文件。 38)9.7可以对IE多选项卡同时取图,支持世界之窗3.0 39)9.7.8支持TT4.6.1,傲游2.5.2,360浏览器3.0 40)9.8.2支持取图后存盘,存盘退出,存盘关机,标题 过滤,保存图片宽高信息等等 41)9.8.3支持鼠标滚轮模拟,自动点击组合,非缓存图片的保存 42)9.8.5修改了窗口最大化和随机字符存盘错误 本安装包为通过安装包。支持的浏览器都可以通过鼠标右键来调用。 对于傲游,世界之窗,绿色浏览器,360安全浏览器的用户如果想以扩展包的形式安装,可以在软件介绍网页(http://pay500.net/picsaver.htm)下载专用的扩展安装包。腾讯TT浏览器,MiniIE,GoSurf,Thooe随E浏览器等不支持扩展的浏览器,可以直接在网页上用鼠标右键来调用。
 【为什么购买本课程?】1、学会Photoshop脚本,可以大幅提高您的工作效率、摆脱大量重复设计任务的束缚;2、扩展Photoshop的功能:天气预报、to-do设计任务管理、中文加拼音、图层文字中英互译、每日一句英语、OCR智能识别图片上的文字内容、 为上万影片批量生成九宫格预览图、为数百个视频自动添加内容不同的片头、自动获取图片的主题颜色、快速生成不限数量并且不重复的漂亮卡通头像、给Photoshop添加猜数字、贪吃蛇游戏等等;3、利用人工智能技术:在Photoshop中识别图片中指定颜色的物体、进行面部识别;4、掌握99%Photoshop设计师不曾接触的技能,打造自己的职场护城河!5、重要的是:只有我们这提供系统、全面、易学的Photoshop脚本教程,只此一家,别无选择!  【Photoshop脚本是什么?】* Photoshop神秘和强大的一项秘技!* 它可以允许您以代码的方式来操作文档、美化图像、处理图层、控制通道、编辑选区、使用滤镜等等,就像在Photoshop界面上操作一样。* 与PhotoShop动作(Action)相比,PhotoShop脚本更强大、更智能、更富有逻辑判断功能。* PhotoShop脚本主要用于重复性的任务或用于制作非常复杂的特殊效果。 【学会Photoshop脚本,可以做什么?】* 一键给n个图片批量添加水印;* 一键将n个图片批量生成指定尺寸的缩略图;* 一键将PSD网页设计稿的各功能区域,批量输出为Web所用格式;* 一键生成iOS、Andriod应用和游戏必需的十几种尺寸的图标;* 一键将n个小图拼合为一张大图,并输出各小图在大图中的坐标信息;* 甚至开发一款运行在Photoshop上的趣味游戏!我们向您保证,学习PhotoShop脚本所花费的时间,可以在完成几项重复性的复杂任务时得到补偿。快来学习Photoshop脚本吧!  【课程的特点】1、创新的教学模式:手把手教您Photoshop自动化技术,一看就懂,一学就会;2、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标;3、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间;4、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索;5、课程源码素材:购买课程之后,进入最后一章的最后一节的课件列表,下载课程源码素材。 
智能化的网页保存工具——网童 弘一网童(WebPortero)是一款智能化的网页保存工具,集网页抓取、内容识别、网页编辑、格式转换于一体,可以保存网页正文、图片、Flash等。 一键将网页保存为WORD文件! 您只需点击“网童,另存为WORD文件”,网童就会从当前网页中识别出正文内容,然后将正文内容保存为WORD文件。完成了原本需要打开WORD、选中正文内容、复制、过滤格式、粘贴到WORD然后保存这样一大串的工作; 自动保存“下一页” 现在网上一篇文章往往会分页显示,如果想要把这样一篇文章保存下来需要一页一页地拷贝,网童可以自动保存下一页,替您代劳了; 多个网页内容汇编 上网找资料时往往会将来自不同网页上的内容摘录下来并汇编在一个文件中,网童集摘录、汇集、编辑、保存功能于一体,极大地提高您的效率; 批量保存网页 批量保存多个链接中的网页正文内容,并将这些内容汇集成一个文件保存下来; 批量保存图片 保存网页中的所有图片或多个链接中的所有图片,并且可以根据图片尺寸来过滤文件,识别出多个链接中您关注的图片; 生成CHM电子书 批量抓取网页,一键将网页合并生成CHM电子书。还可用CHM电子书来压缩存贮网页,避免保存的网页太多管理不方便; 保存完整网页 可以完整保存网页包括动态加载的内容,网童保存完整网页和浏览器自带的网页另存为的区别是网童保存的是当前页面上显示的内容,包括动态加载的,浏览器自带的保存功能是保存源文件,动态加载的内容不保存。; 引用网页中的Flash 看到网页上漂亮的Flash,想要引用它,网童会为您提取出Flash的文件地址,方便您引用,如装扮您的QQ空间。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧