Сейчас в Интернете есть много программ сбора коллекций, но иногда, когда вы найдете хороший веб -сайт и хотите сделать инструмент для сбора, чтобы собрать некоторую информацию, вам нужно написать программу самостоятельно. На самом деле, такие программы сбора не сложно написать. В основном они анализируют веб -структуру веб -сайта Source.
Сначала скачать файл класса XMLHTTP:
<%
Класс XHTTP
Частный Cset, Surl, Serror
Private sub class_initialize ()
'cset = "UTF-8"
cset = "gb2312"
serror = ""
Конец суб
Private sub class_terminate ()
Конец суб
Общественная собственность пусть URL (Theurl)
Surl = TheUrl
Конец собственности
Общественная недвижимость получите базовый ()
BasePath = Mid (Surl, 1, Instrrev (Surl, "/")-1)
Конец собственности
Общественная собственность получите имя файла ()
Filename = mid (surl, instrrev (surl, "/")+1)
Конец собственности
Общественная недвижимость получить HTML ()
Html = bytestobstr (getbody (surl))
Конец собственности
Общественная недвижимость get 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 = ничего
Конечная функция
частная функция GetBody (SURL)
при ошибке резюме следующим
Dim xmlhttp
'Set xmlhttp = server.createObject ("msxml2.xmlhttp.4.0")
'set xmlhttp = server.createObject ("microsoft.xmlhttp")
Установить xmlhttp = server.createObject ("msxml2.serverxmlhttp")
Xmlhttp.Settimeouts 10000 10000,10000,30000
xmlhttp.open "Get", Surl, false
xmlhttp.send
Если xmlhttp.readystate = 4 то
'Если xmlhttp.status = 200 then
getbody = xmlhttp.responsebody
'end if
еще
getbody = ""
конец, если
Если err.number <> 0, тогда
serror = err.number
Err.clear
еще
serror = ""
конец, если
Установите xmlhttp = ничего
конечная функция
Общественная функция SaveImage (tofile, isoverwrite)
при ошибке резюме следующим
Dim objstream, objfso, imgs
Если не isoverwrite, тогда
Установить objfso = server.createObject ("scripting.filesystemobject")
Если objfso.filexists (server.mappath (tofile))
Выходная функция
Конец, если
Установить objfso = ничего
Конец, если
imgs = getbody (surl)
Установить objstream = server.createObject ("adodb.stream")
с Objstream
.Type = 1
.Открыть
.write imgs
.Savetofile server.mappath (tofile), 2
.Закрывать()
закончить с
Установить objstream = ничего
конечная функция
конечный класс
%>
С этим типом файла будет гораздо удобнее делать что -то.
Затем вы можете проанализировать структуру веб -страницы веб -сайта и написать программу сбора.
Вот пример:
<!-#Включите file = "conn.asp"->
<!-#Включите file = "Inc/xhttp_class.asp"->
<!-#Включите file = "inc/function.asp"->
<%
server.scripttimeout = 1000
%>
<html>
<голова>
<meta http-equiv = "content-type" content = "text /html; charset = gb2312" />
<title> bt collector </title>