Berikut ini fungsi untuk mengekstrak alamat gambar dalam HTML:
prinsip utamanya adalah menggunakan ekspresi reguler untuk menentukan atribut <src> dari <img>. Hal ini akan sangat berguna dalam program akuisisi.
Fungsinya sebagai berikut:
Berikut penggalan kutipannya:
Fungsi TampilkanGambar(str)
Setel objRegExp = Objek konfigurasi set Regexp baru
objRegExp.IgnoreCase = Benar'Abaikan kasus
objRegExp.Global = True' disetel ke pencarian teks lengkap
objRegExp.Pattern = "<img.+?>"
'Untuk memastikan bahwa alamat gambar dapat diambil secara akurat, ini dibagi menjadi dua tingkat konfigurasi: pertama temukan tag <img> di dalamnya, dan kemudian ambil alamat gambar di dalamnya. Fungsi getimgs di belakangnya mengimplementasikan fungsi yang terakhir.
strs=memangkas(str)
Setel Kecocokan =objRegExp.Execute(strs)'Mulai mengeksekusi konfigurasi
Untuk Setiap Pertandingan dalam Pertandingan
RetStr = RetStr &getimgs( Match.Value )'Lakukan pencocokan putaran kedua
Berikutnya
ShowPic = RetStr
Fungsi Akhir
Fungsi getimgs(str)
getimgs=""
Setel objRegExp1 = Regexp Baru
objRegExp1.IgnoreCase = Benar
objRegExp1.Global = Benar
objRegExp1.Pattern = " http://.+?"""' Dapatkan alamat di dalamnya
atur mm=objRegExp1.Execute(str)
Untuk Setiap Pertandingan1 dalam mm
getimgs=getimgs&left(Match1.Value,len(Match1.Value)-1)&"||"'Masukkan alamat di dalamnya untuk digunakan nanti
Berikutnya
Fungsi Akhir
'Dapatkan konten gambar
fungsi getHTTPage(url)
pada kesalahan lanjutkan berikutnya
redupkan http
set http=server.createobject("MSXML2.XMLHTTP")'Gunakan metode xmlhttp untuk mendapatkan konten gambar
Http.buka "GET", url, salah
Http.kirim()
jika Http.readystate<>4 lalu
fungsi keluar
berakhir jika
getHTTPage=Http.responseBody
atur http=tidak ada
jika err.number<>0 maka err.Clear
fungsi akhir
'Simpan gambar
fungsi simpan gambar (dari, ke file)
redupkan geturl,objStream,imgs
geturl=trim(dari)
imgs=gethttppage(geturl)'Proses mendapatkan konten spesifik gambar
Setel objStream = Server.CreateObject("ADODB.Stream")' Untuk membuat objek ADODB.Stream, diperlukan ADO 2.5 atau lebih tinggi
objStream.Type =1'Buka dalam mode biner
objStream.Buka
objstream.write imgs' menulis konten string ke dalam buffer
objstream.SaveToFile server.mappath(tofile),2'-tulis konten yang di-buffer ke file
objstream.Close()'Tutup objeknya
atur objstream=tidak ada
fungsi akhir
'Contoh panggilan
Redupkan strpic,i,fname
strpic = ShowPic("<DIV align=center><IMG src="" strpic = Split(strpic,"||")
Jika UBound(strpic) > 0 Lalu
Untuk i = 0 Ke UBound(strpic) - 1
'Simpan gambar
fname=cstr(i&mid(strpic(i),instrrev(strpic(i),".")))
simpan gambar(strpic(i),fname)
Berikutnya
Kalau tidak
Akhiri Jika