現在、オンラインで多くのコレクションプログラムがありますが、良いウェブサイトを見つけて、情報を収集するためのコレクションツールを作成したい場合は、プログラムを自分で書く必要があります。実際、このような収集プログラムを書くのは難しくありません。主にソースWebサイトのWeb構造を分析します。
最初にXMLHTTPクラスファイルをダウンロードします。
<%
クラスXHTTP
プライベートCSET、SURL、SERROR
private sub class_initialize()
'cset = "utf-8"
cset = "gb2312"
serror = ""
End Sub
private sub class_terminate()
End Sub
公共財産let url(theurl)
surl = theurl
プロパティを終了します
公共財産はbasepathを取得します()
basepath = mid(surl、1、instrrev(surl、 "/")-1)
プロパティを終了します
公共財産get filename()
filename = mid(surl、instrrev(surl、 "/")+1)
プロパティを終了します
公共財産get html()
html = bytestobstr(getbody(surl))
プロパティを終了します
公共財産はxhttperror()を取得します
xhttperror = serror
プロパティを終了します
プライベート関数Bytestobstr(ボディ)
エラーの再開時に次に再開します
'CSET:GB2312 UTF-8
DIM OBJSTREAM
objstream = server.createObject( "adodb.stream")を設定します
objstreamで
.type = 1 '
.mode = 3 '
。開ける
.Write Body」
.position = 0 '
.type = 2 '
.charset = cset '
bytestobstr = .readText '
。近い
で終わります
objstream = Nothingを設定します
エンド関数
プライベート機能GetBody(SURL)
エラーの再開時に次に再開します
dim xmlhttp
'set xmlhttp = server.createObject( "msxml2.xmlhttp.4.0")
'set xmlhttp = server.createObject( "microsoft.xmlhttp")
xmlhttp = server.createobject( "msxml2.serverxmlhttp")をset
xmlhttp.settimeouts 10000,10000,10000,30000
xmlhttp.open "get"、surl、false
xmlhttp.send
xmlhttp.ReadyState = 4の場合
'xmlhttp.status = 200の場合
getBody = xmlhttp.responsebody
'end if
それ以外
getBody = ""
ifを終了します
err.number <> 0の場合
serror = err.number
err.clear
それ以外
serror = ""
ifを終了します
xmlhttp = Nothingを設定します
エンド関数
パブリック関数SaveImage(Tofile、isoverwrite)
エラーの再開時に次に再開します
Dim objstream、objfso、imgs
ISOVERWRITEではない場合
objfso = server.createObject( "Scripting.filesystemObject")を設定します
objfso.fileexists(server.mappath(tofile))の場合
出口機能
ifを終了します
objfso =何も設定しません
ifを終了します
imgs = getbody(surl)
objstream = server.createObject( "adodb.stream")を設定します
objstreamで
.type = 1
。開ける
.IMGSを書き込みます
.savetofile server.mappath(tofile)、2
。近い()
で終わります
objstream = Nothingを設定します
エンド関数
エンドクラス
%>
このタイプのファイルを使用すると、物事を行う方がはるかに便利です。
次に、コレクションWebサイトのWebページ構造を分析し、コレクションプログラムを作成できます。
これが例です:
<! - #include file = "conn.asp" - >
<! - #include file = "Inc/xhttp_class.asp" - >
<! - #include file = "inc/function.asp" - >
<%
server.scripttimeout = 1000
%>
<html>
<head>
<Meta http-equiv = "content-type" content = "text /html; charset = gb2312" />
<title> btコレクター</title>