• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP > XMLHTTP批量抓取远程资料

XMLHTTP批量抓取远程资料

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了xmlhttprequest,xmlhttp,xmlhttprequest对象,xmlhttp.open,xmlhttp.responsetext等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
可以在此基础上结合正则表达式做成更好的效果,希望大家能分享一下Xmlhttp的session共享技术 

<html> 
<head> 
<title>AUTOGET</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 
<body bgcolor="#FFFFFF" style="font-family:Arial;font-size:12px"> 
<% 
'================================================= 
'FileName: Getit.Asp 
'Intro : Auto Get Data From Remote WebSite 
'Author: Babyt(阿泰) 
'URL: http://blog.csdn.net/babyt 
'createAt: 2002-02 Lastupdate:2004-09 
'DB Table : data 
'Table Field: 
' UID -> Long -> Keep ID Of the pages 
' UContent -> Text -> Keep Content Of the Pages(HTML) 
'================================================= 

Server.ScriptTimeout=5000 

'on error resume next 
Set conn = Server.createObject("ADODB.Connection") 
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("getit.mdb") 
Set rs = Server.createObject("ADODB.Recordset") 
sql="select * from data" 
rs.open sql,conn,1,3 

Dim comeFrom,myErr,myCount 

'======================================================== 
comeFrom="http://www.xxx.com/U.asp?ID=" 
myErr1="该资料不存在" 
myErr2="该资料已隐藏" 
'======================================================== 

'*************************************************************** 
' 只需要更改这里 i 的始点intMin和终点intMax,设定步长intStep 
' 每次区间设置成5万左右。估计要两个多小时。期间不需要人工干预 
'**************************************************************** 
intMin=0 
intMax=10000 
'设定步长 
intStep=100 

'========================================================== 
'以下代码不要更改 
'========================================================== 
Call GetPart (intMin) 
Response.write "已经转换完成" & intMin & "~~" & intMax & "之间的数据" 
rs.close 
Set rs=Nothing 
conn.Close 
set conn=nothing 
%> 
</body> 
</html> 
<% 
'使用XMLHTTP抓取地址并进次内容处理 
Function GetBody(Url) 
Dim objXML 
On Error Resume Next 
Set objXML = createObject("Microsoft.XMLHTTP") 
With objXML 
.Open "Get", Url, False, "", "" 
.Send 
GetBody = .ResponseBody 
End With 
GetBody=BytesToBstr(GetBody,"GB2312") 
Set objXML = Nothing 
End Function 
'使用Adodb.Stream处理二进制数据 
Function BytesToBstr(strBody,CodeBase) 
dim objStream 
set objStream = Server.createObject("Adodb.Stream") 
objStream.Type = 1 
objStream.Mode =3 
objStream.Open 
objStream.Write strBody 
objStream.Position = 0 
objStream.Type = 2 
objStream.Charset = CodeBase 
BytesToBstr = objStream.ReadText 
objStream.Close 
set objStream = nothing 
End Function 
'主函数 
Function GetPart(iStart) 
Dim iGo 
time1=timer() 
myCount=0 
For iGo=iStart To iStart+intStep 
If iGo<=intMax Then 
Response.Execute comeFrom & iGo 
'进行简单的数据处理 
content = GetBody(comeFrom & iGo ) 
content = Replace(content,chr(34),""") 
If instr(content,myErr1) OR instr(content,myErr2) Then 
'跳过错误信息 
Else 
'写入数据库 
rs.AddNew 
rs("UID")=iGo 
'******************************** 
rs("UContent")=Replace(content,""",chr(34)) 
'********************************* 
rs.update 
myCount=myCount+1 
Response.Write iGo & "<BR>" 
Response.Flush 
End If 
Else 
Response.write "<font color=red>成功抓取"&myCount&"条记录," 
time2=timer() 
Response.write "耗时:" & Int(FormatNumber((time2-time1)*1000000,3)) & " 秒</font><BR>" 
Response.Flush 
Exit Function 
End If 
Next 
Response.write "<font color=red>成功抓取"&myCount&"条记录," 
time2=timer() 
Response.write "耗时:" & CInt(FormatNumber((time2-time1),3)) & " 秒</font><BR>" 
Response.Flush 
'递归 
GetPart(iGo+1) 
End Function%> 
</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Asp 使用 Microsoft.XMLHTTP 抓取网页内容并过滤需要的
  • asp中利用xmlhttp抓取网页内容的代码
  • asp xmlhttp下载一句话
  • 服务器XMLHTTP(Server XMLHTTP in ASP)基础知识
  • XMLHttp ASP远程获取网页内容代码
  • ASP利用XMLHTTP实现表单提交以及cookies的发送的代码
  • ajax XMLHTTP Post Form时的表单乱码综合解决
  • asp下利用XMLHTTP 从其他页面获取数据的代码
  • asp中xmlhttp组件发包
  • 用asp+xmlhttp编写web采集程序

相关文章

  • 2017-05-11asp结合fso实现文件或文件夹创建删除等操作的函数
  • 2017-05-11ASP错误处理
  • 2017-05-11[转]XMLHTTPRequest的属性和方法简介
  • 2017-05-11asp错误的几种处理方式
  • 2017-05-11反SPAM新思路—换Z-BLOG的验证码!
  • 2017-05-11VBScript中变量作用域
  • 2017-05-11新手asp编程的基本法则与常见错误注意事项
  • 2017-05-11ASP 程序实现自动升级功能
  • 2017-05-11asp 取得用户真实IP,对代理地址仍然有效的函数
  • 2017-05-11将首页转成静态html页的asp文件

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • asp 防止SQL注入代码
    • 一些值得一看的代码asp
    • 两种小偷程序的比较第1/2页
    • asp HTTP 500错误 常见问题分析
    • 利用xmlhttp和adodb.stream加缓存技术下载远程Web文件
    • ASP中类Class相关内容的整理资料
    • 构建免受 FSO 威胁虚拟主机(一)
    • 用asp实现的代码批量修改程序,fso相关
    • ASP中if语句、select 、while循环的使用方法
    • 在ASP应用程序中限制重复提交同一表单

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有