تقدم هذه المقالة مشاركة البرنامج التعليمي لزحف PATCH الذي يزحف صفحة قائمة. دعنا نلقي نظرة على البرنامج التعليمي التفصيلي أدناه. يمكن للأصدقاء الذين يحتاجون إليها الرجوع إليها.
بعض الناس كنز عند الزحف ، لكنهم ما زالوا يبيعونها من أجل TND. صحيح حقًا أن هؤلاء الرجال هم! ربما يكون الشيء التالي سيئًا بعض الشيء
ما يلي لا يحتوي على وظيفة الكتابة إلى المتجر ، وقد وصلت إلى هذه النقطة. وظيفة الدخول بسيطة للغاية. يرجى إكمالها بنفسك إذا كنت في حاجة إليها. يرجى تحسين الوظائف الأخرى بنفسك! انسخ الرمز وقم بتشغيله مباشرة لرؤية التأثير
DIM url ، list_pagecode ، array_articleid ، i ، chorledid
dim content_pagecode ، content_tempcode
dim content_categoryid ، content_categoryname ، borderid ، classid ، borderName ، className
Dim Articletitle ، Articleauthor ، articlefrom ، ArticleContent
url = "http://www.webasp.net/article/class/1.htm"
list_pagecode = gethttppage (url)
list_pagecode = regexptext (list_pagecode ، "print" ، "
list_pagecode = regexptext (list_pagecode ، "احصل على رابط المقالة في صفحة القائمة الحالية لفصلها
array_articleid = split (list_pagecode ، "،") "قم بإنشاء صفيف وتخزين معرف المقالة
ل I = 0 إلى Ubound (array_articleid) -1
chorleid = array_arrayid (i) 'arrayid
content_pageCode = gethttppage ("http://www.webasp.net/article/" & altichid) "احصل على محتوى صفحة المقالة
'=================================================
content_tempcode = regexptext (content_pagecode ، "Technical Tutorial >>" ، ">> content" ، 0)
content_categoryid = regexptext (content_pagecode ، "" ، 1)
BorderId = split (content_categoryId ، "،") (0) "معرف الفئة الكبيرة
classid = split (content_categoryid ، "،") (1) 'id subclass id
'=============== تحقق مما إذا كانت الفئة الرئيسية موجودة. ابدأ =================
إذا لم يكن موجودًا ، أدخل قاعدة البيانات
'================ تحقق مما إذا كانت الفئة الرئيسية موجودة end =================
'Response.write (borderid & "،" & classid & "
")
content_categoryname = regexptext (content_pagecode ، "/'>" ، "" ، 1)
BorderName = split (content_categoryname ، "،") (0) 'اسم فئة كبيرة
className = split (content_categoryname ، "،") (1) 'اسم الفئة الفرعية
'================ تحقق ما إذا كانت الفئة الفرعية موجودة ================
إذا لم يكن موجودًا ، أدخل قاعدة البيانات
'================ تحقق مما إذا كانت الفئة الفرعية موجودة في النهاية ================
'==================================================
'=======================================================
articletitle = regexptext (content_pagecode ، " " ، " " ، 0)
articleauthor = regexptext (content_pagecode ، "المؤلف:" ، "" ، 0)
articlefrom = regexptext (content_pagecode ، "المصدر:" ، "" ، 0)
articleContent = regexptext (content_pagecode ، "" ، "" & vbcrlf & "" & vbcrlf & "" ، 0)
'========================================================
استجابة. write (Articletitle & "
")
استجابة. flush ()
التالي
عدة وظائف متصلة:
وظيفة gethttppage (url)if (isobjinstalled ("microsoft.xmlhttp") = false) ثم
الرد. write "
لا يدعم الخادم مكون microsoft.xmlhttp "
err.clear
استجابة
إنهاء إذا
عند استئناف الخطأ التالي
خافت HTTP
تعيين http = server.createBject ("msxml2.xmlhttp")
http.Open "get" ، url ، false
http.send ()
إذا (http.readyState4) ثم
وظيفة الخروج
إنهاء إذا
gethttppage = bytestobstr (http.responsebody ، "GB2312")
تعيين http = لا شيء
إذا (err.number0) ثم
الرد. write "
حدث خطأ عند الحصول على محتويات الملف "
استجابة
err.clear
إنهاء إذا
وظيفة نهاية
وظيفة bytestobstr (codeBody ، codeSet)
قاتمة objstream
تعيين OBJStream = server.createBject ("Adodb.stream")
objstream.type = 1
objstream.mode = 3
objstream.Open
objstream.write codebody
objstream.position = 0
objstream.type = 2
objstream.charset = الرموز
bytestobstr = objstream.readtext
objstream.close
اضبط OBJStream = لا شيء
وظيفة نهاية
'================================================================
"الوظيفة: تحقق مما إذا كان المكون قد تم تثبيته
'قيمة الإرجاع: صحيح ---- مثبت
"خطأ --- لم يتم تثبيته
'================================================================
وظيفة isobjinstalled (objname)
عند استئناف الخطأ التالي
isobjinstalled = false
خطأ = 0
قاتمة testobj
SET TESTOBJ = server.createBject (objName)
إذا (0 = err) ثم isobjinstalled = true
تعيين testobj = لا شيء
خطأ = 0
وظيفة نهاية
وظيفة regexptext (strng ، strstart ، strend ، n)
Dim regex ، المباراة ، المباريات ، retstr
تعيين regex = جديد 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 = لا شيء
ما سبق هو مقدمة المحتوى الكامل لمشاركة البرنامج التعليمي لزحف الدفعة لصفحة قائمة معينة. آمل أن تكون المعرفة والمواد ذات الصلة التي جمعها المحرر مفيدة لك. لمزيد من المحتوى ، يرجى الاستمرار في الانتباه إلى موقع الويب الخاص بقناة Wuxin Technology!