Das Folgende ist eine Funktion zum Extrahieren der Bildadresse in HTML:
Das Hauptprinzip besteht darin, reguläre Ausdrücke zu verwenden, um das <src>-Attribut von <img> zu bestimmen. Dies wird in Akquisitionsprogrammen sehr nützlich sein.
Die Funktion lautet wie folgt:
Das Folgende ist ein Zitatfragment:
Funktion ShowPic(str)
Set objRegExp = Neues Regexp'set-Konfigurationsobjekt
objRegExp.IgnoreCase = True'Groß-/Kleinschreibung ignorieren
objRegExp.Global = True' wird auf Volltextsuche gesetzt
objRegExp.Pattern = "<img.+?>"
„Um sicherzustellen, dass die Bildadresse genau abgerufen werden kann, ist sie in zwei Konfigurationsebenen unterteilt: Suchen Sie zuerst das <img>-Tag darin und rufen Sie dann die Bildadresse ab. Die dahinter stehende Funktion getimgs implementiert die letztere Funktion.
strs=trim(str)
Set Matches =objRegExp.Execute(strs)'Ausführung der Konfiguration starten
Für jedes Spiel in Spielen
RetStr = RetStr &getimgs( Match.Value )'Führen Sie die zweite Matching-Runde durch
Nächste
ShowPic = RetStr
Funktion beenden
Funktion getimgs(str)
getimgs=""
Setze objRegExp1 = Neuer Regexp
objRegExp1.IgnoreCase = True
objRegExp1.Global = True
objRegExp1.Pattern = " http://.+?"""' Holen Sie sich die Adresse darin
set mm=objRegExp1.Execute(str)
Für jedes Match1 in mm
getimgs=getimgs&left(Match1.Value,len(Match1.Value)-1)&"||"'String die darin enthaltenen Adressen zur späteren Verwendung an
nächste
Funktion beenden
'Bildinhalte abrufen
Funktion getHTTPage(url)
Bei Fehler als nächstes fortfahren
dimmen Sie http
set http=server.createobject("MSXML2.XMLHTTP")'Verwenden Sie die xmlhttp-Methode, um den Inhalt des Bildes abzurufen
Http.open „GET“,url,false
Http.send()
wenn Http.readystate<>4 dann
Exit-Funktion
Ende wenn
getHTTPPage=Http.responseBody
setze http=nichts
Wenn err.number<>0, dann err.Clear
Endfunktion
„Bild speichern.“
Funktion saveimage(from,tofile)
dim geturl,objStream,imgs
geturl=trimmen(von)
imgs=gethttppage(geturl)'Der Prozess zum Abrufen des spezifischen Inhalts des Bildes
Set objStream = Server.CreateObject("ADODB.Stream")' Zum Erstellen eines ADODB.Stream-Objekts ist ADO 2.5 oder höher erforderlich
objStream.Type =1'Im Binärmodus öffnen
objStream.Open
objstream.write imgs' schreibt den String-Inhalt in den Puffer
objstream.SaveToFile server.mappath(tofile),2'-schreibt den gepufferten Inhalt in die Datei
objstream.Close()'Schließe das Objekt
setze objstream=nichts
Endfunktion
'Instanz aufrufen
Dim strpic,i,fname
strpic = ShowPic("<DIV align=center><IMG src="" strpic = Split(strpic,"||")
Wenn UBound(strpic) > 0, dann
Für i = 0 bis UBound(strpic) - 1
„Bild speichern.“
fname=cstr(i&mid(strpic(i),instrrev(strpic(i),".")))
saveimage(strpic(i),fname)
Nächste
Anders
Ende wenn