เป็นที่นิยมเมื่อเร็ว ๆ นี้ที่ฉันไม่ชอบการรวบรวม แต่ฉันสนใจที่จะค้นคว้าหลักการของการรวบรวม ฉันได้ฟังก์ชั่นทั่วไปสำหรับการรวบรวมออนไลน์ศึกษาพวกเขาและฝึกฝนพวกเขาในทางปฏิบัติ ผลที่ได้ประสบความสำเร็จ การละทิ้งปัญหาประสิทธิภาพหลักการรวบรวมไม่ซับซ้อน คุณสามารถป้อน "การได้มา" ในแถบค้นหาเพื่อดูหลักการของมัน นี่คือตัวอย่างของคอลเลกชัน:
การคัดลอกรหัสมีดังนี้:
<%@language = "vbscript" codePage = "65001"%>
<%response.codePage = 65001%>
<%response.charset = "utf-8"%>
<%Server.ScriptTimeOut = 99999999
Response.exext = 0
Response.expiresabsolute = Now ()-1
Response.addheader "Pragma", "No-Cache"
Response.addheader "Cache-Control", "Private"
Response.CacheControl = "No-cache"
-
-
'ประกาศฟังก์ชั่นเพื่อรับข้อมูลเป้าหมายและนำไปใช้ผ่านส่วนประกอบ XML
functiongeturl (URL)
setRetrieval = server.createObject ("msxml2.xmlhttp"))
เกี่ยวกับการแก้ไข
.Open "Get", url, false
.ส่ง
if.status <> 200 จากนั้นกำหนดว่าเอกสารได้ถูกแยกวิเคราะห์เพื่อให้ลูกค้ายอมรับข้อความส่งคืน
exitfunction
endif
'ไบนารีถึงสตริง
getURL = STB (.ResponseBody)
จบลงด้วย
'ตรวจสอบข้อมูลที่ได้รับ หากความยาวของข้อมูลน้อยกว่า 100 หมายความว่าการสกัดกั้นล้มเหลว
endfunction
'เปลี่ยนไบนารีเป็นสตริงมิฉะนั้นจะอ่านไม่ออกจะปรากฏขึ้น!
FunctionStB (VIN)
ConstadTypetext = 2
dimbytessstream, stringreturn
setByTessTream = server.createObject ("adodb.stream")
ด้วย bytessstream
.Type = AdTypetext
.เปิด
.writeTextvin
.position = 0
.Charset = "GB2312"
.position = 2
stringReturn = .readText
.ปิด
จบลงด้วย
setByTessTream = ไม่มีอะไร
STB = StringReturn
endfunction
FunctionNewString (WSTR, STRNG)
NewsString = Instr (LCASE (WSTR), LCASE (STRNG))
IfNewString <= 0ThenNewString = LEN (WSTR)
endfunction
'ประกาศรูปแบบที่สกัดกั้นเริ่มจากจุดเริ่มต้นและสิ้นสุด
FunctionGetKey (HTML, เริ่มต้น, มากกว่า)
start = newstring (html, start)
over = newstring (html, over)
getKey = mid (html, เริ่มต้น, เริ่มต้น)
endfunction
Dimsoftid, url, html, title
'คอลเลกชันของ Baidu รู้
fori = 1to100
url = "http://zhidao.baidu.com/question/10000" & i & ".html"
html = geturl (url)
คำถาม = getKey (html, "<cq>", "</cq>")
คำตอบ = getKey (html, "<a>", "</a ca>")
Response.write (คำถาม & "<br/>")