保存网页(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文件中,并且乱码问题已经解决。