In diesem Artikel werden die Tutorial -Teilen von Batch -Crawling auf einer Listenseite vorgestellt. Schauen wir uns das detaillierte Tutorial unten an. Freunde, die es brauchen, können sich darauf beziehen.
Einige Leute sind ein Schatz, wenn sie Programme kriechen, aber sie verkaufen sie immer noch für TND. Es ist wirklich wahr, dass diese Jungs sind! Vielleicht ist das Folgende ein bisschen schlecht
Das Folgende hat keine Schreibfunktion und hat diesen Punkt erreicht. Die Eingangsfunktion ist sehr einfach. Bitte vervollständigen Sie es selbst, wenn Sie es brauchen. Bitte verbessern Sie andere Funktionen selbst! Kopieren Sie den Code und führen Sie ihn direkt aus, um den Effekt anzuzeigen
Dim URL, list_pagecode, array_articleId, i, articleId
Dim Content_PageCode, content_tempcode
DIM Content_CategoryID, content_categoryName, BorderId, ClassId, BorderName, ClassName
Dim Articletitle, Articleautor, Artikel aus 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, "'den Artikellink der aktuellen Liste erhalten, um ihn zu trennen
Array_articleId = split (list_pagecode, ",") 'ein Array erstellen und die Artikel -ID speichern
Für i = 0 bis ubound (array_articleId) -1
AciesId = array_arrayid (i) 'arrayid
Content_pagecode = getttppage ("http://www.webasp.net/article/" & article) 'Holen Sie sich den Inhalt der Artikelseite
"================================================================================================================================================
Content_tempcode = regexptext (content_pagecode, "Technisches Tutorial >>", ">> Inhalt", 0)
Content_categoryid = regexptext (content_pagecode, "", 1)
BorderId = split (content_categoryId, ",") (0) 'große Klassen -ID
ClassId = split (content_categoryId, ",") (1) 'Subklass -ID
'============== Überprüfen Sie, ob die Hauptkategorie vorhanden ist. Start ==================
Wenn es nicht existiert, geben Sie die Datenbank ein
'=============== Überprüfen Sie, ob die Hauptkategorie vorhanden ist.
'Response.write (BorderID & "," & Classid & "
"))
Content_categoryName = regexptext (content_pagecode, "/'>", "", 1)
BorderName = split (content_categoryName, ",") (0) 'großer Klassenname
ClassName = split (content_categoryName, ",") (1) 'Unterklasse Name
'=============== Überprüfen Sie, ob die Unterklasse vorhanden ist.
Wenn es nicht existiert, geben Sie die Datenbank ein
'=============== Überprüfen Sie, ob die Unterklasse existiert.
"================================================================================================================================ alle
'========================================================
Articletitle = regexptext (content_pagecode, " ", " ", 0)
ArticleAuthor = regexptext (content_pagecode, "Autor:", "", 0)
ArticleFrom = regexptext (content_pagecode, "Quelle:", "", 0)
Articlecontent = regexptext (content_pagecode, "", "" & vbcrlf & "" & vbcrlf & "", 0)
"======================================================================================================================================
Response.Write (Articletitle & "
"))
Response.flush ()
Nächste
Mehrere Funktionen sind beigefügt:
Funktion Gethttppage (URL)If (isobjinstalled ("microsoft.xmlhttp") = false) dann
Response.write "
Der Server unterstützt Microsoft.xmlhttp -Komponente nicht "
Err.clear
Antwort.end
Ende wenn
Bei der nächsten Fehleraufnahme als nächstes
Dim Http
Setzen Sie http = server.createObject ("msxml2.xmlhttp"))
Http.open "get", url, falsch
Http.send ()
If (http.ReadyState4) dann
Ausgangsfunktion
Ende wenn
getttppage = byTestObstr (http.Responsebody, "GB2312")
Setzen Sie http = nichts
If (err.number0) dann
Response.write "
Bei der Erfassung der Dateiinhalte trat ein Fehler auf.
'Response.end
Err.clear
Ende wenn
Endfunktion
Funktion byTestObstr (CodeBody, Codeset)
Dimer Objstream
Setzen Sie objstream = server.createObject ("adodb.stream")
objstream.type = 1
objstream.mode = 3
objstream.open
objstream.write codebody
objstream.position = 0
objstream.type = 2
objstream.charset = codeset
ByTestObstr = objstream.readText
objstream.close
Objstream einstellen = nichts
Endfunktion
"=========================================================================================================
'Funktion: Überprüfen Sie, ob die Komponente installiert wurde
'Rückgabewert: True ---- installiert
'Falsch --- nicht installiert
"=========================================================================================================
Funktion isobjinstalliert (Objname)
Bei der nächsten Fehleraufnahme als nächstes
Isobjinstalled = false
Err = 0
Dim Testobj
Setzen Sie testObj = server.createObject (objname)
If (0 = err) dann isobjinstalled = true
Setze testobj = nichts
Err = 0
Endfunktion
Funktion Regexptext (Strng, Strstart, Strend, n)
Dim Regex, Match, Matches, Retstr
Setzen Sie Regex = New Regexp
regex.pattern = strstart & "([/s/s]*?)" & Strend
regex.ignorecase = true
regex.global = true
Setzen Sie Matches = regex.execute (strng)
Für jedes Spiel in Spielen
If (n = 1) dann
RETSTR = RETSTR & REGEX.REPLACE (match.value, "$ 1") & ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ","
ANDERS
RETSTR = RETSTR & REGEX.REPLACE (Match.Value, "$ 1")
Ende wenn
Nächste
Regexptext = retstr
REGEX = nichts setzen
Die oben genannte ist die Einführung des gesamten Inhalts der Tutorial -Freigabe von Batching Crawling auf einer bestimmten Listenseite. Ich hoffe, dass die relevanten Kenntnisse und Materialien, die vom Herausgeber zusammengestellt wurden, für Sie hilfreich sein. Für weitere Inhalte achten Sie bitte weiterhin auf die Website des Wuxin Technology Channel!