ASP抓取文件保存

asp

2013-09-29 15:30

动态页面中加入(需要JQ)

<script language="javascript">  $(document).ready(function() { $.get("update.asp"); }); </script>





update.asp

Set fso = Server.CreateObject("Scripting.FileSystemObject")

sfile=server.Mappath("./index.htm")

if fso.FileExists(sfile) then

Set fsofile=fso.getfile(sfile)

     if dateDiff("n",fsofile.DateLastModified,now)<30 then

     response.End()

     end if

    

end if


Dim Url,Html

Url="http://www.222.com/index.aspx"

Html = getHTTPPage(Url)

call save_html("./index.htm",Html&"<!-- html "&now()&"-->")

response.Write "新首页生成OK"&now()







'1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码

function getHTTPPage(url)

    dim Http

    set Http=server.createobject("MSXML2.XMLHTTP")

    Http.open "GET",url,false

    Http.send()

    if Http.readystate<>4 then

        exit function

    end if

    getHTTPPage=bytesToBSTR(Http.responseBody,"UTF-8")

    set http=nothing

    if err.number<>0 then err.Clear

end function


'2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换

Function BytesToBstr(body,Cset)

        dim objstream

        set objstream = Server.CreateObject("adodb.stream")

        objstream.Type = 1

        objstream.Mode =3

        objstream.Open

        objstream.Write body

        objstream.Position = 0

        objstream.Type = 2

        objstream.Charset = Cset

        BytesToBstr = objstream.ReadText

        objstream.Close

        set objstream = nothing

End Function


3,  保存文件

Public Function save_html(FileUrl,content)

   set stm=server.CreateObject("adodb.stream")

   stm.Type=2

   stm.mode=3

   stm.charset="utf-8"

   stm.open

   stm.WriteText content

   stm.SaveToFile server.MapPath(FileUrl),2

   stm.flush

   stm.Close

   set stm=nothing

End Function