تقدم هذه المقالة بشكل أساسي Asp لاستخدام Microsoft.XMLHTTP للزحف إلى محتوى الويب (بدون أحرف مشوهة) وتصفية المحتوى المطلوب
يستخدم Asp Microsoft.XMLHTTP للزحف إلى محتوى صفحة الويب (بدون تعليمات برمجية مشوهة) وتصفية المحتوى المطلوب
نموذج كود المصدر:
انسخ رمز الكود كما يلي:
<%
خافت xmlUrl،http،strHTML،strBody
xmlUrl = Request.QueryString("u")
يقرأ REM مصدر XML بشكل غير متزامن
قم بتعيين http = server.CreateObject("Microsoft.XMLHTTP")
http.Open "POST"،xmlUrl،خطأ
http.setrequestheader "وكيل المستخدم"، "Mozilla/4.0"
http.setrequestheader "الاتصال"، "البقاء على قيد الحياة"
http.setRequestHeader "نوع المحتوى"، "application/x-www-form-urlencoded"
http.Send()
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 =Replace(strBody،"شبكة طاقة الثروة</a>:"،")
strBody =Replace(strBody،"تم نشر هذه المقالة لأول مرة في"،"")
الاستجابة.كتابة RegRemoveHref(strBody)
تحصل REM على HTML لاستجابة URL المقابلة
الدالة BytesToBstr(body)
objstream خافت
تعيين objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.اكتب النص
objstream.Position = 0
objstream.Type = 2
objstream.Charset = "UTF-8"
'قم بتحويل ترميز UTF-8 الافتراضي الأصلي إلى ترميز GB2312، وإلا فاستخدمه مباشرةً
'سيحصل XMLHTTP على تعليمات برمجية مشوهة عند الاتصال بصفحة ويب تحتوي على أحرف صينية.
BytesToBstr = objstream.ReadText
objstream.Close
تعيين objstream = لا شيء
وظيفة النهاية
يستخدم REM تعبيرات عادية لالتقاط المحتوى المحدد بداخله
الدالة GetBody(ConStr,StartStr,OverStr,IncluL,IncluR)
إذا كان ConStr = "$False$" أو ConStr = "" أو IsNull (ConStr) = True أو StartStr = "" أو IsNull (StartStr) = True Or OverStr = "" أو IsNull (OverStr) = True إذن
GetBody = "$خطأ $"
وظيفة الخروج
نهاية إذا
DimConStrTemp
بداية خافتة، أكثر
ConStrTemp=Lcase(ConStr)
StartStr=Lcase(StartStr)
OverStr=Lcase(OverStr)
ابدأ = InStrB(1، ConStrTemp، StartStr، vbBinaryCompare)
إذا ابدأ<=0 ثم
GetBody = "$خطأ $"
وظيفة الخروج
آخر
إذا كان IncluL=خطأ إذن
ابدأ=ابدأ+LenB(StartStr)
نهاية إذا
نهاية إذا
Over=InStrB(Start,ConStrTemp,OverStr,vbBinaryCompare)
إذا كان أكثر من <= 0 أو أكثر من <= ابدأ بعد ذلك
GetBody = "$خطأ $"
وظيفة الخروج
آخر
إذا InclR = صحيح ثم
أكثر=أكثر+LenB(OverStr)
نهاية إذا
نهاية إذا
GetBody=MidB(ConStr,Start,Over-Start)
وظيفة النهاية
يقوم REM بتصفية الارتباط التشعبي
الدالة RegRemoveHref(HTMLstr)
Set ra = New RegExp
ra.IgnoreCase = صحيح
ra.Global = صحيح
ra.Pattern = "<a[^>]+>(.+?)</a>"
RegRemoveHref = Replace(ra.replace(HTMLstr,"$1"),"href=""http://www.927953.com"""")
وظيفة النهاية
%>
الاداءات هي كما يلي: