บทความนี้จะแนะนำ Asp เป็นหลักเพื่อใช้ Microsoft.XMLHTTP เพื่อรวบรวมข้อมูลเนื้อหาเว็บ (ไม่มีอักขระที่อ่านไม่ออก) และกรองเนื้อหาที่จำเป็น
Asp ใช้ Microsoft.XMLHTTP เพื่อรวบรวมข้อมูลเนื้อหาหน้าเว็บ (ไม่มีรหัสที่อ่านไม่ออก) และกรองเนื้อหาที่ต้องการ
ซอร์สโค้ดตัวอย่าง:
คัดลอกรหัสรหัสดังต่อไปนี้:
-
หรี่ xmlUrl,http,strHTML,strBody
xmlUrl = Request.QueryString("u")
REM อ่านแหล่ง XML แบบอะซิงโครนัส
ตั้งค่า http = server.CreateObject("Microsoft.XMLHTTP")
http.เปิด "POST",xmlUrl,false
http.setrequestheader "ตัวแทนผู้ใช้", "Mozilla/4.0"
http.setrequestheader "การเชื่อมต่อ", "Keep-Alive"
http.setRequestHeader "ประเภทเนื้อหา", "application/x-www-form-urlencoded"
http.ส่ง()
strHTML = BytesToBstr(http.ResponseBody)
ตั้งค่า http = ไม่มีอะไร
REM จับเนื้อหาหลัก
strBody = GetBody(strHTML,"<divDiv_newsContentc""cnt"">","</div>",0,0)
strBody =Replace(strBody,"(บทความนี้เผยแพร่ครั้งแรกใน ","")
strBody =Replace(strBody,"Wealth Power Network</a> โปรดระบุแหล่งที่มาสำหรับการพิมพ์ซ้ำ)","")
strBody =Replace(strBody,"บทความนี้ถูกเผยแพร่ครั้งแรกใน โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ)"")
strBody =แทนที่(strBody,"เครือข่ายพลังความมั่งคั่ง</a>:","")
strBody =Replace(strBody,"บทความนี้เผยแพร่ครั้งแรกใน"")
การตอบสนองเขียน RegRemoveHref (strBody)
REM รับ HTML ของการตอบกลับ URL ที่เกี่ยวข้อง
ฟังก์ชั่น BytesToBstr (เนื้อหา)
objstream สลัว
ตั้ง objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.เปิด
objstream เขียนเนื้อหา
objstream ตำแหน่ง = 0
objstream.Type = 2
objstream.Charset = "UTF-8"
'แปลงการเข้ารหัส UTF-8 เริ่มต้นดั้งเดิมเป็นการเข้ารหัส GB2312 มิฉะนั้นให้ใช้โดยตรง
'XMLHTTP จะได้รับรหัสที่อ่านไม่ออกเมื่อเรียกหน้าเว็บด้วยตัวอักษรจีน
BytesToBstr = objstream.ReadText
objstream.ปิด
ตั้ง objstream = ไม่มีเลย
สิ้นสุดฟังก์ชัน
REM ใช้นิพจน์ทั่วไปเพื่อบันทึกเนื้อหาที่ทำเครื่องหมายไว้ภายใน
ฟังก์ชัน GetBody(ConStr,StartStr,OverStr,IncluL,IncluR)
ถ้า ConStr="$False$" หรือ ConStr="" หรือ IsNull(ConStr)=True หรือ StartStr="" หรือ IsNull(StartStr)=True หรือ OverStr="" หรือ IsNull(OverStr)=True จากนั้น
GetBody="$False$"
ออกจากฟังก์ชัน
สิ้นสุดถ้า
DimConStrTemp
เริ่มสลัว จบ
ConStrTemp=Lcase(ConStr)
StartStr=Lcase(StartStr)
OverStr=Lcase(OverStr)
เริ่มต้น = InStrB(1, ConStrTemp, StartStr, vbBinaryCompare)
ถ้าเริ่ม<=0แล้ว
GetBody="$False$"
ออกจากฟังก์ชัน
อื่น
ถ้า IncluL=False แล้ว
เริ่มต้น=เริ่ม+LenB(StartStr)
สิ้นสุดถ้า
สิ้นสุดถ้า
เกิน = InStrB (เริ่ม, ConStrTemp, OverStr, vbBinary เปรียบเทียบ)
หากเกิน<=0 หรือมากกว่า<=เริ่มแล้ว
GetBody="$False$"
ออกจากฟังก์ชัน
อื่น
ถ้า InclR=True แล้ว
เกิน=เกิน+LenB(OverStr)
สิ้นสุดถ้า
สิ้นสุดถ้า
GetBody=MidB(ConStr,สตาร์ท,โอเวอร์สตาร์ท)
สิ้นสุดฟังก์ชัน
REM กรองไฮเปอร์ลิงก์
ฟังก์ชัน RegRemoveHref(HTMLstr)
ตั้ง ra = RegExp ใหม่
ra.IgnoreCase = จริง
ra.Global = จริง
ra.Pattern = "<a[^>]+>(.+?)</a>"
RegRemoveHref = แทนที่(ra.replace(HTMLstr,"$1"),"href=""http://www.927953.com""","")
ฟังก์ชันสิ้นสุด
-
การเรนเดอร์มีดังนี้: