日期:2014-05-17  浏览次数:20883 次

谁能给个采集的程序啊,越简单的越好,或帮我解决一下
最好是一个页面的,   我找了一天了,有2个有点意思,希望大家帮我分析一下
1:
<%
'常用函数

'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, "GB2312 ")
        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

Function   GetKey(HTML,Start,Last)
filearray=split(HTML,Start)
filearray2=split(filearray(1),Last)
GetKey=filearray2(0)
End   Function

'下面试着调用的html内容
Dim   Url,Html
Url= "http://syjhmc/index.asp "
Html   =   getHTTPPage(Url)
Response.write   Html
%>
这个可以正常使用,不过好象返回的不是数据,而是直接运行读取过来的东西了,我只想读取网页内容的一部分,然后用文本的形式,表现出来,有大家帮忙吗?
就像下面这个东西的格式一样~
<%      
url= "http://www.syjhmc.com/ "      
set   inet   =   createobject( "InetCtls.Inet ")      
inet.RequestTimeOut   =20      
inet.Url=   url      
strRet=inet.OpenURL()      
%>  
<HTML>      
<HEAD>      
<TITLE> 抓取页面测试 </TITLE>      
</HEAD>      
<BODY>      
<P> 页面的内容是::       <%=strRet       %> </P>      
</BODY>      
</HTML>


给帖一段完整解决完的代码,直接保存下来就可以测试运行的那种,本人水平太差,要不看不懂,谢谢了
比如我要提取http://syjhmc/index.asp这个页面中那几个图片的地址

------解决