ตัวอย่างการวิเคราะห์การเริ่มต้นการรวบรวมหลักการรวบรวม asp
ขั้นตอนแรกคือการวิเคราะห์หน้าเว็บที่คุณต้องการบันทึก
ใช้เบราว์เซอร์เพื่อเปิดหน้าที่คุณต้องการรวบรวม (เช่น: http://sports.sina.com.cn/k/2008-09-15/04593948756.shtml คุณสามารถใช้หน้าอื่นได้หลังจากเปิดแล้ว คลิกขวาเพื่อดูไฟล์ต้นฉบับ
ขั้นตอนที่สองคือการค้นหาตำแหน่งของเนื้อหาที่จะรวบรวม
หากฉันต้องการรวบรวมชื่อและตำแหน่งเนื้อหาของหน้านี้:
ชื่ออยู่ระหว่าง <h1 id=artibodyTitle style=color:#03005C;> และ </h1>
เนื้อหาอยู่ระหว่าง <!-- เนื้อหาข้อความเริ่มต้น --> และ <!-- เนื้อหาข้อความสิ้นสุด -->
ใส่ใจกับความเป็นเอกลักษณ์ของสถานที่ หลังจากที่คุณพบแล้ว คุณสามารถใช้การค้นหาในการแก้ไขเพื่อดูว่าไม่ซ้ำใครหรือไม่ คุณสามารถแทนที่ได้เท่านั้น
ขั้นตอนที่สามคือการเขียนโค้ด
คัดลอกรหัสรหัสดังต่อไปนี้:
-
'ฟังก์ชัน: รหัสคอลเลกชัน asp'
'ผู้เขียน: wangsdong
'หมายเหตุ: สนับสนุนโปรแกรมต้นฉบับ กรุณาเก็บข้อมูลนี้ไว้ ขอบคุณ'
url=http://sports.sina.com.cn/k/2008-09-15/04593948756.shtml
str=getHTTPage(URL)
title=strcut(str,<h1 id=artibodyTitle style=color:#03005C;>,</h1>,2)
content=strcut(str,<!-- เนื้อหาข้อความเริ่มต้น -->,<!-- เนื้อหาข้อความสิ้นสุด -->,2)
response.write ชื่อข่าว<br><b>&title&</b><br><br><br>เนื้อหาข่าว:<br>&content
ฟังก์ชั่น getHTTPPage(url)
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
http สลัว
ตั้งค่า http=Server.createobject(Microsoft.XMLHTTP)
Http.open GET, url, false
Http.ส่ง()
ถ้า Http.readystate<>4 แล้ว
ฟังก์ชั่นทางออก
สิ้นสุดถ้า
getHTTPPage=bytesToBSTR(Http.responseBody,GB2312)
ตั้งค่า http=nothing
ถ้า Err.number<>0 แล้ว
Response.Write <p align='center'><font color='red'><b>เซิร์ฟเวอร์มีข้อผิดพลาดในการรับเนื้อหาไฟล์</b></font></p>
ผิดพลาด.เคลียร์
สิ้นสุดถ้า
สิ้นสุดฟังก์ชัน
ฟังก์ชั่น BytesToBstr (เนื้อหา, Cset)
objstream สลัว
ตั้ง objstream = Server.CreateObject (adodb.stream)
objstream.Type = 1
objstream.Mode =3
objstream.เปิด
objstream เขียนเนื้อหา
objstream ตำแหน่ง = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.ปิด
ตั้ง objstream = ไม่มีเลย
สิ้นสุดฟังก์ชัน
'ตัดสตริง 1. รวมอักขระเริ่มต้นและสิ้นสุด 2. ไม่รวม
ฟังก์ชัน strCut(strContent,StartStr,EndStr,CutType)
หรี่ strHtml,S1,S2
strHtml = strContent
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
เลือก Case CutType
กรณีที่ 1
S1 = InStr(strHtml,StartStr)
S2 = InStr(S1,strHtml,EndStr)+เลน(EndStr)
กรณีที่ 2
S1 = InStr(strHtml,StartStr)+เลน(StartStr)
S2 = InStr(S1,strHtml,EndStr)
สิ้นสุดการเลือก
หากผิดพลาดแล้ว
strcute = <p align='center'>ไม่พบเนื้อหาที่ต้องการ </p>
ผิดพลาด.เคลียร์
ออกจากฟังก์ชัน
อื่น
strCut = กลาง(strHtml,S1,S2-S1)
สิ้นสุดถ้า
สิ้นสุดฟังก์ชัน
-
ไม่เป็นไร ฉันจะส่งออกเนื้อหาที่ได้รับตอนนี้ และคุณสามารถเขียนเนื้อหาลงในฐานข้อมูลได้ ดังนั้นข้อมูลจึงเป็นของคุณ