ตอนนี้มีโปรแกรมคอลเลกชันออนไลน์มากมาย แต่บางครั้งเมื่อคุณพบเว็บไซต์ที่ดีและต้องการสร้างเครื่องมือรวบรวมสำหรับตัวคุณเองเพื่อรวบรวมข้อมูลบางอย่างคุณต้องเขียนโปรแกรมด้วยตัวเอง ในความเป็นจริงโปรแกรมการรวบรวมดังกล่าวไม่ยากที่จะเขียน พวกเขาส่วนใหญ่วิเคราะห์โครงสร้างเว็บของเว็บไซต์แหล่งที่มา
ดาวน์โหลดไฟล์คลาส XMLHTTP ก่อน:
-
คลาส xhttp
CSET ส่วนตัว, Surl, Serror
คลาสย่อย class_initialize ()
'CSET = "UTF-8"
CSET = "GB2312"
serror = ""
สิ้นสุดย่อย
คลาสย่อย class_terminate ()
สิ้นสุดย่อย
ทรัพย์สินสาธารณะให้ URL (Theurl)
surl = theurl
จุดสิ้นสุดของทรัพย์สิน
ทรัพย์สินสาธารณะรับ basepath ()
basepath = mid (surl, 1, instrrev (surl, "/")-1)
จุดสิ้นสุดของทรัพย์สิน
ทรัพย์สินสาธารณะรับชื่อไฟล์ ()
ชื่อไฟล์ = mid (surl, instrrev (surl, "/")+1)
จุดสิ้นสุดของทรัพย์สิน
ทรัพย์สินสาธารณะรับ html ()
html = bytestobstr (getbody (surl))
จุดสิ้นสุดของทรัพย์สิน
ทรัพย์สินสาธารณะรับ xhttperror ()
xhttperror = serror
จุดสิ้นสุดของทรัพย์สิน
ฟังก์ชั่นส่วนตัว bytestobstr (ร่างกาย)
เมื่อเกิดข้อผิดพลาดต่อไป
'CSET: GB2312 UTF-8
สลัว objstream
ตั้งค่า objstream = server.createObject ("adodb.stream"))
กับ objstream
.type = 1 '
.mode = 3 '
.เปิด
. เขียนร่างกาย '
.position = 0 '
.Type = 2 '
.Charset = CSET '
bytestobstr = .readText '
.ปิด
จบลงด้วย
ตั้งค่า objstream = ไม่มีอะไร
ฟังก์ชันสิ้นสุด
ฟังก์ชั่นส่วนตัว getbody (surl)
เมื่อเกิดข้อผิดพลาดต่อไป
DIM XMLHTTP
'ตั้งค่า xmlhttp = server.createObject ("msxml2.xmlhttp.4.0")
'ตั้งค่า 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 แล้ว
getBody = xmlhttp.responsebody
'สิ้นสุดถ้า
อื่น
getBody = ""
สิ้นสุดถ้า
ถ้า err.number <> 0 แล้ว
serror = err.number
err.lear
อื่น
serror = ""
สิ้นสุดถ้า
ตั้งค่า xmlhttp = ไม่มีอะไร
ฟังก์ชันสิ้นสุด
ฟังก์ชั่นสาธารณะ saveimage (tofile, isoverwrite)
เมื่อเกิดข้อผิดพลาดต่อไป
Dim Objstream, OBJFSO, IMGS
ถ้าไม่ใช่ isOverwrite แล้ว
ตั้งค่า objfso = server.createObject ("scripting.filesystemobject")
ถ้า objfso.fileexists (server.mappath (tofile)) แล้ว
ฟังก์ชั่นออก
สิ้นสุดถ้า
ตั้งค่า objfso = ไม่มีอะไร
สิ้นสุดถ้า
IMGS = getBody (surl)
ตั้งค่า objstream = server.createObject ("adodb.stream"))
กับ objstream
.Type = 1
.เปิด
. เขียน IMGS
.Savetofile Server.Mappath (tofile), 2
.ปิด()
จบลงด้วย
ตั้งค่า objstream = ไม่มีอะไร
ฟังก์ชันสิ้นสุด
ชั้นเรียนจบ
-
ด้วยไฟล์ประเภทนี้มันจะสะดวกกว่าในการทำสิ่งต่างๆ
จากนั้นคุณสามารถวิเคราะห์โครงสร้างหน้าเว็บของเว็บไซต์คอลเลกชันและเขียนโปรแกรมคอลเลกชัน
นี่คือตัวอย่าง:
<!-#รวม file = "conn.asp"->
<!-#รวมไฟล์ = "inc/xhttp_class.asp"->
<!-#รวม file = "inc/function.asp"->
-
Server.ScriptTimeOut = 1,000
-
<html>
<head>
<meta http-equiv = "content-type" content = "text /html; charset = gb2312" />
<title> BT Collector </title>