怎么才能获得网页图片?(100分)

  • 主题发起人 主题发起人 hotdot
  • 开始时间 开始时间
H

hotdot

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在程序中实现从网页获得图片,同时将该图片保存在数据库中,大家有没有好的思路提供呀?
 
这些图片都在IE缓冲区中
 
uses mshtml
//得到所有图片链接
procedure TForm1.Button1Click(Sender: TObject);
var
doc:IHTMLDocument2;
all:IHTMLElementCollection;
len,i:integer;
item:IHTMLElement;
vAttri:Variant;
begin
memo1.Lines.Clear;
//获得Webbrowser对象中的文档对象
doc:=webbrowser1.Document as IHTMLDocument2;
//获得文档中所有的HTML元素集合
all:=doc.Get_all;
len:=all.Get_length;
for i:=0 to len-1 do begin
item:=all.item(i,varempty) as IHTMLElement;
if item.Get_tagName = 'IMG'then begin
vAttri:=item.getAttribute('SRC',0);
memo1.Lines.Add(vAttri);
end;
end;
end;
 
我想从网上直接将图片保存到自己的数据库中呀。就像下载一样,你只是告诉我得到如何获得图片的url,那怎么下载呢?
 
procedure TForm1.Button1Click(Sender: TObject);
var imgList:IHTMLElementCollection;
img:IHTMLImgElement;
i:Integer;
begin
imgList:=(WebBrowser1.Document as IHTMLDocument2).images;
for I:=0 to imgList.length-1 do
begin
img:=imglist.Item(I,'') as IHTMLimgElement;
NmHTTP1.InputFileMode:=True;
NmHTTP1.Body:=Format('c:/%d%s',[I,ExtractFileExt(img.href)]);
NMHTTP1.Get(img.href);
end;
end;

是用NMHTTP做的。
 
后退
顶部