最近一段时间,采集很热门,从新闻小偷,到音乐小偷,到新闻采集,Flash采集,都有他的踪影,现在还有很多的人对采集都很感兴趣,为了服务大家,我也正在写一套采集程序,名字为心意采集程序,现在我讲一下,采集用到的相关技术。
下面讲到的也不是很高深的XMLHTTP技术,我也是稍稍讲一下,一个采集需要用到的几块内容
如果你需要了解更多的问题,请去www.google.com搜索XMLHTTP技术你将会得到更多的帮助,如果大家有什么疑问的话,可以在论坛上回贴
下面只讲到如何在网上得到数据,并不涉及到数据处理
第一XMLHTTP技术
http://www.0579.info/study/exploitation/net/58685.htm
上面那个地址,那篇文章讲的根本原理已经很详细了,但是我们一般采集的话,刚开始不太需要了解太多。只要实用就可以了,等以后不够用的时候,再去找相关文档也来得急
首先,我们需要建立一个XMLHTTP对象
微软发布的xmlhttp组件已经有很多的版本了,我知道的就有以下几种:
"MSXML2.ServerXMLHTTP.4.0"
"MSXML2.ServerXMLHTTP.3.0"
"MSXML2.ServerXMLHTTP"
"MSXML2.XMLHTTP.5.0"
"MSXML2.XMLHTTP.4.0"
"MSXML2.XMLHTTP.3.0"
"MSXML2.XMLHTTP"
"Microsoft.XMLHTTP
以上有这么多种组件,我们当然是需要申请最高版本的对象喽,那有什么办法可以实现呢
下面我拿出一段代码,大家可以看看,他是按最高版本申请XMLHTTP对象的
DimArrProgId,Prog,Flag,XmlHttpCom
ArrProgId=array("MSXML2.ServerXMLHTTP.4.0","MSXML2.ServerXMLHTTP.3.0","MSXML2.ServerXMLHTTP","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP")
ForEachProgInarrProgId
If(IsObjInstalled(Prog)=true)Then
XmlHttpCom=Prog
ExitFor
EndIf
Next
'//<summary>
'// Rem检查组件是否支持 是返回 True否返回False
'//</summary>
PublicFunctionIsObjInstalled(strClassString)
OnErrorResumeNext
'//设置初始化值
IsObjInstalled=False
Err=0
'//测试代码
DimxTestObj
SetxTestObj=Server.createObject(strClassString)
If0=ErrThenIsObjInstalled=True
'//清除所申请的对象
SetxTestObj=Nothing
Err=0
EndFunction
上面那段代码就是申请到当前服务器支持的最高版本的XMLHTTP对象了
下面我们讲一下采集功能函数
'GetFileText为采集功能函数
PublicFunctionGetFileText(url)