Ниже представлена функция для извлечения адреса изображения в HTML:
основной принцип заключается в использовании регулярных выражений для определения атрибута <src> <img>. Это будет очень полезно в программах приобретения.
Функция выглядит следующим образом:
Ниже приведен фрагмент цитаты:
Функция ShowPic(str)
Set objRegExp = Новый объект конфигурации набора регулярных выражений
objRegExp.IgnoreCase = True'Игнорировать регистр
objRegExp.Global = True' настроен на полнотекстовый поиск.
objRegExp.Pattern = "<img.+?>"
«Чтобы гарантировать, что адрес изображения может быть получен точно, он разделен на два уровня конфигурации: сначала найдите тег <img> внутри, а затем получите адрес изображения внутри. Функция getimgs, стоящая за ним, реализует последнюю функцию.
стрс = обрезка (стр)
Set Matches =objRegExp.Execute(strs)'Начать выполнение конфигурации
За каждый матч в матчах
RetStr = RetStr &getimgs( Match.Value )'Выполните второй раунд сопоставления
Следующий
ШоуПик = РетСтр
Конечная функция
Функция getimgs(str)
получитьимгс=""
Установите objRegExp1 = Новое регулярное выражение.
objRegExp1.IgnoreCase = Истина
objRegExp1.Global = Истина
objRegExp1.Pattern = " http://.+?"""' Получите адрес внутри
set mm=objRegExp1.Execute(str)
Для каждой спички1 в мм
getimgs=getimgs&left(Match1.Value,len(Match1.Value)-1)&"||"'Строка адресов внутри для дальнейшего использования
следующий
Конечная функция
'Получить содержимое изображения
функция getHTTPage (url)
при ошибке продолжить дальше
тусклый http
set http=server.createobject("MSXML2.XMLHTTP")'Используйте метод xmlhttp для получения содержимого изображения
Http.open "GET", URL, false
HTTP.send()
если Http.readystate<>4, то
функция выхода
конец, если
getHTTPPage=Http.responseBody
установить http=ничего
если err.number<>0, то err.Clear
конечная функция
'Сохранить картинку
функция saveimage(from,tofile)
тусклый geturl, objStream, imgs
geturl=обрезать(из)
imgs=gethttppage(geturl)'Процесс получения конкретного содержимого изображения
Set objStream = Server.CreateObject("ADODB.Stream")' Чтобы создать объект ADODB.Stream, требуется ADO 2.5 или выше.
objStream.Type =1'Открыть в двоичном режиме
objStream.Open
objstream.write imgs' записывает содержимое строки в буфер.
objstream.SaveToFile server.mappath(tofile),2' — записать буферизованное содержимое в файл
objstream.Close()'Закрыть объект
установить objstream=ничего
конечная функция
'Вызов экземпляра
Dim strpic,i,fname
strpic = ShowPic("<DIV align=center><IMG src="" strpic = Split(strpic,"||")
Если UBound(strpic) > 0 Тогда
Для i = 0 To UBound(strpic) - 1
'Сохранить картинку
fname=cstr(i&mid(strpic(i),instrrev(strpic(i),".")))
saveimage(strpic(i),fname)
Следующий
Еще
Конец, если