将一个ASP网站文章批量生成HTML静态文件的便捷方法

本站原来有个ASP文章系统,现在基本不更新了,就想将其生成HTML静态网页备存。在网上查找了一些资料,最后充分利用了已有ASP程序,很便捷地批量生成了全部文章的html文件,实现了静态化!

原来文章保存在数据库中,显示文章的程序形如 http://网址/show.asp?id=xxx

完整程序如下,运行会自动批量生成静态网页文件1.htm、2.htm ……….

!–#include file=”../conn.asp” –

sql = “SELECT * FROM news order by id desc”
Set rs = Server.CreateObject(“ADODB.Recordset”)
rs.OPEN sql,conn,1,3
do while not rs.eof

url = “http://网址/show.asp?id=”&rs(“id”)&”"
set http=Server.createobject(“Msxml2.XMLHTTP”)
Http.open “GET”,url,false
Http.send()
set objStream = Server.CreateObject(“ADODB.Stream”)
objStream.type = 1
objStream.open
objstream.write http.responseBody
objstream.saveToFile server.mappath(“html/”&rs(“id”)&”.htm”),2
objstream.close
rs.movenext
loop
rs.close
set rs=nothing
Response.Write “操作成功!”

显示文章目录的程序为 http://网址/index.asp?cataid=xxx ,其中cataid为文章分类。还是同样利用了现有程序index.asp,通过参数pageno自动生成分页文件。

for pageno=1 to 5
url = “http://网址/index.asp?cataid=5&pageno=”&pageno&”"
set http=Server.createobject(“Msxml2.XMLHTTP”)
Http.open “GET”,url,false
Http.send()
set objStream = Server.CreateObject(“ADODB.Stream”)
objStream.type = 1
objStream.open
objstream.write http.responseBody
objstream.saveToFile server.mappath(“html/index_”&pageno&”.htm”),2
objstream.close
response.write “index_”&pageno&”.htm更新完成!”
next
Response.Write “操作成功!”

查看结果:http://www.qingdao0532.com/news/html/index.htm

推荐一篇不错的ASP转HTMTL参考文章 http://hi.baidu.com/westfruit/blog/item/ddb847501f842a67853524a9.html

Leave a Comment