بعض الناس يعتبرون الزاحف بمثابة كنز حتى الآن، بعض الأشخاص يبيعون TND مقابل المال. ربما الأشياء أدناه عرجاء بعض الشيء.
الوظيفة أدناه لا تحتوي على وظيفة الكتابة إلى المكتبة. لقد وصلنا إلى هذه الخطوة. وظيفة الدخول إلى المكتبة بسيطة جدًا. يرجى إكمالها بنفسك إذا لزم الأمر. يمكنك تحسين الوظائف الأخرى بنفسك. انسخ الكود وقم بتشغيله مباشرة لترى التأثير
Dim Url،List_PageCode،Array_ArticleID،i،ArticleID
تعتيم Content_PageCode،Content_TempCode
خافت Content_CategoryID،Content_CategoryName، BorderID، ClassID، BorderName، ClassName
تعتيم عنوان المقالة، مؤلف المقال، مقال من، محتوى المقال
URL = http://www.webasp.net/article/class/1.htm
List_PageCode = getHTTPPage(Url)
List_PageCode = RegExpText(List_PageCode، طباعة</th></tr>،</table><table border=0 cellpadding=5,0)
List_PageCode = RegExpText(List_PageCode,<td align=left><a href='../,'><img border=0 src='../images/authortype0.gif',1)'احصل على المقالات الحالية قائمة الروابط، مفصولة
Array_ArticleID = Split(List_PageCode,,)'إنشاء مصفوفة لتخزين معرفات المقالة
لأن i=0 إلى Ubound(Array_ArticleID)-1
معرف المقالة = Array_ArticleID(i)'معرف المقالة
Content_PageCode = getHTTPPage(http://www.webasp.net/article/&ArticleID) 'احصل على محتوى صفحة المقالة
'==========احصل على فئة المقالة ومعلمات المعرف ذات الصلة للبدء========================
Content_TempCode = RegExpText(Content_PageCode,<a href=/article/>البرنامج التعليمي الفني</a> >> ,>> المحتوى</td>,0)
Content_CategoryID = RegExpText(Content_PageCode,<a href='../class,/'>,1)
BorderID = Split(Content_CategoryID,,)(0)' معرف الفئة
ClassID = Split(Content_CategoryID,,)(1)'معرف الفئة الفرعية
'==========التحقق من وجود الفئة الرئيسيةالبدء=======================
'إذا لم يكن موجودا، قم بتخزينه في قاعدة البيانات
'==========التحقق من وجود الفئة الرئيسية أم لا نهاية================
'Response.Write(BorderID & , & ClassID & <br />)
Content_CategoryName = RegExpText(Content_PageCode,/'>,</a>,1)
BorderName = Split(Content_CategoryName,,)(0)'اسم الفئة
ClassName = Split(Content_CategoryName,,)(1)'اسم الفئة الفرعية
'===========التحقق من وجود الفئة الفرعيةStart================
'إذا لم يكن موجودا، قم بتخزينه في قاعدة البيانات
'===========التحقق من وجود فئة فرعية نهاية================
'==========ينتهي الحصول على تصنيف المقالة ومعلمات المعرف ذات الصلة========================
'=========== احصل على عنوان ومحتوى المقالة وبدء ============================= =
ArticleTitle = RegExpText(Content_PageCode,<tr><td align=center bgcolor=#DEE2F5><strong>,</strong></td></tr>,0)
ArticleAuthor = RegExpText(Content_PageCode,<tr><td><span class=blue>المؤلف:</span>,</td></tr>,0)
ArticleFrom = RegExpText(Content_PageCode,<tr><td><span class=blue>المصدر:</span>,</td></tr>,0)
ArticleContent = RegExpText(Content_PageCode,<tr><td class=content style=WORD-WRAP: Break-word id=zoom>,</td></tr>&VBCrlf& </table>&VBCrlf& </td></tr> </الجدول>,0)
'=========== احصل على عنوان المقالة ونهاية المحتوى ==============================
الاستجابة.كتابة (عنوان المقالة& <br /><br />)
الاستجابة. فلوش ()
التالي
مرفقة بعض الوظائف:
الدالة getHTTPPage(url)
إذا (IsObjInstalled (Microsoft.XMLHTTP) = خطأ) إذن
Response.Write <br><br>لا يدعم الخادم مكون Microsoft.XMLHTTP
خطأ.واضح
الاستجابة.النهاية
نهاية إذا
على خطأ استئناف التالي
خافت http
تعيين http=Server.CreateObject(Msxml2.XMLHTTP)
Http.open الحصول على، URL، خطأ
المتشعب.إرسال ()
إذا (Http.readystate<>4) إذن
وظيفة الخروج
نهاية إذا
getHTTPPage=BytesToBSTR(Http.responseBody,GB2312)
تعيين http=لا شيء
إذا (Err.number<>0) إذن
Response.Write <br><br>حدث خطأ أثناء الحصول على محتوى الملف
"الاستجابة. النهاية."
خطأ.واضح
نهاية إذا
وظيفة النهاية
الدالة BytesToBstr(CodeBody,CodeSet)
خافت objStream
SET objStream = Server.CreateObject(adodb.stream)
objStream.Type = 1
objStream.Mode =3
objStream.Open
objStream.اكتب CodeBody
objStream.Position = 0
objStream.Type = 2
objStream.Charset = CodeSet
BytesToBstr = objStream.ReadText
objStream.Close
تعيين objStream = لا شيء
وظيفة النهاية
"=======================================================================================
'الوظيفة: التحقق من تثبيت المكون
'قيمة الإرجاع: صحيح ---- مثبتة بالفعل
' خطأ ---- غير مثبت
"=======================================================================================
الدالة IsObjInstalled(objName)
على خطأ استئناف التالي
IsObjInstalled = خطأ
الخطأ = 0
اختبار خافتObj
تعيين testObj = Server.CreateObject(objName)
IF(0 = خطأ)THEN IsObjInstalled = True
تعيين testObj = لا شيء
الخطأ = 0
وظيفة النهاية
الدالة RegExpText(strng,strStart,strEnd,n)
التعابير المنطقية الخافتة، المطابقة، التطابقات، RetStr
SET regEx = New RegExp
regEx.Pattern = strStart&([/s/S]*?)&strEnd
regEx.IgnoreCase = صحيح
regEx.Global = صحيح
مجموعة التطابقات = regEx.Execute(strng)
لكل مباراة في المباريات
إذا (ن = 1) إذن
RetStr = RetStr & regEx.Replace(Match.Value,$1) & ,
آخر
RetStr = RetStr & regEx.Replace(Match.Value,$1)
نهاية إذا
التالي
RegExpText = RetStr
تعيين regEx = لا شيء
وظيفة النهاية