以下は、HTML 内の画像アドレスを抽出する関数です。
主な原理は、正規表現を使用して <img> の <src> 属性を決定することです。これは取得プログラムで非常に役立ちます。
機能は次のとおりです。
以下は引用部分です。
関数 ShowPic(str)
Set objRegExp = 新しい正規表現の設定オブジェクト
objRegExp.IgnoreCase = True'大文字と小文字を区別しない
objRegExp.Global = True' を全文検索に設定
objRegExp.Pattern = "<img.+?>"
画像アドレスを正確に取得できるようにするため、構成は 2 つのレベルに分かれています。最初に内部の <img> タグを見つけ、次にその背後にある getimgs 関数が後者の関数を実装します。
strs=トリム(str)
Set Matches =objRegExp.Execute(strs)'設定の実行を開始します
試合中の各試合について
RetStr = RetStr &getimgs( Match.Value )'2 回目のマッチングを実行します。
次
ShowPic = RetStr
終了機能
関数 getimgs(str)
getimgs=""
objRegExp1 = 新しい正規表現を設定します
objRegExp1.IgnoreCase = True
objRegExp1.Global = True
objRegExp1.Pattern = " http://.+?"""'内のアドレスを取得します
set mm=objRegExp1.Execute(str)
一致ごとに 1 単位 (mm)
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()
if Http.readystate<>4 then
終了関数
終了する場合
getHTTPPage=Http.responseBody
http=何も設定しない
if err.number<>0 then err.Clear
終了関数
'画像を保存
関数 saveimage(from,tofile)
dim 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 = なしを設定します
関数の終了
'インスタンスの呼び出し
暗い strpic,i,fname
strpic = ShowPic("<DIV align=center><IMG src="" strpic = Split(strpic,"||")
UBound(strpic) > 0 の場合
For i = 0 から UBound(strpic) - 1
'画像を保存
fname=cstr(i&mid(strpic(i),instrrev(strpic(i),".")))
画像を保存(strpic(i),fname)
次
それ以外
終了の場合