要点1:下载网页
采集程序下载网页方法1(XMLHTTP应用)
用到的对象:XMLHTTP,只需三行代码,即可完成网页下载:
第一步:创建对象
Set ms = CreateObject("Microsoft.XMLHTTP")
这行代码用于创建一个xmlhttp对象,其中ms为创建对象的名称,ASP编程经常用到,可以随便写,不再赘述。
第二步:设置参数
ms.open "GET",url,False
其中url是要采集下载网页的网址,把它换成你的目标网页网址即可,格式为:http://www.99jpw.cn,一定要写完整,不可省略http://;
“GET”是打开的方法,当然也可以用POST,产生的效果和HTML里的表单提交方式是一样的。
第三步:发送数据
ms.Send()
此行代码用于发送数据并下载,下载后的数据储存在变量responsebody里。
下面我们以下载“点点机票网(http://www.66666999.com)”首页为例进行一下说明
代码:
Set ms = CreateObject("Microsoft.XMLHTTP")
ms.Open "GET","http://www.99jpw.cn",False
ms.Send()
response.write ms.responseBody
运行以上代码大家可以发现,我们已经成功下载了http://www.66666999.com
这里有个问题需要注意一下,有时候网址很长,直接加在第二行代码里会显得很乱,那么,我们可以用一个变量来代替一下,如下:
url="http://www.99jpw.cn"
Set ms = CreateObject("Microsoft.XMLHTTP")
ms.Open "GET",url ,False
ms.Send()
response.write ms.responseBody
这样以来代码就变得整齐多了。
要点2:保存采集到的网页(Stream应用)
前面我们利用三行代码完成了对网页的下载,可是下载到的内容是乱码,在这里我们来解决乱码问题并把它保存成一个txt文件。
创建txt文件有两种方法:一是FSO是一种常见的创建方法,但是在和xmlhttp配合使用时常会出现一些问题,这里不再详细介绍。二是运用Stream,stream是xmlhttp的最佳拍档,我们下来介绍下使用方法:
1、 创建stream对象
代码:Set mss = CreateObject("ADODB.Stream")
2、 设置参数
代码:
mss.Mode = 3
mss.Type = 1
其中Mode模式,当值为1时为读取模式,2为写入模式,3为读写模式,这里我们为了操作不受限制将其设置为3;type为返回数据类型,1为Binary,2为Text,我们设置为1
3、 打开对象
代码:mss.open()
4、 写入数据
代码:mss.Write(“内容”)
Write是Stream的一个方法,用于写入数据。
5、 保存到文件
mss.SaveToFile(FileName,[Options])
Savetofile方法,此方法用于将程序采集的内容保存到文件中,其中filename为文件名,可以随便写,options为存取选项,必填,为了避免内容叠加我们设置为2。(请支持网站http://www.99jpw.cn)
6、 关闭对象
代码:set mss = nothing
关闭对象,并释放内存。
以上为保存内容的几个步骤,为了便于理解,我们举例说明:
依然以“点点机票网http://www.66666999.com”为例:
url="http://www.66666999.com"
Set ms = CreateObject("Microsoft.XMLHTTP")
ms.Open "GET",url ,False
ms.Send()
上以为下载网页的代码
Set mss = CreateObject("ADODB.Stream")
mss.Mode = 3
mss.Type = 1
mss.open()
mss.Write(ms.responseBody)
mss.SaveToFile(“1.txt”,2)
set mss=nothing
set ms=nothing
运行以上代码我们可以看到,采集程序已将http://www.99jpw.cn 保存到了1.txt文件中,并且乱码问题已经解决。
