现在想写一个程序,用于提取网页中所有的链接,于是写了一个函数用于提取,刚开始还可以,可是这个函数工作长了不知道网页中是不是有某些特殊的或者我没想到的代码会导致程序崩溃或者进入死循环,我检查了代码,无奈怎么都找不到错误,后来上网看到有一种用WebBrowser控件加载网页可以提取的方法后试了一下,结果还是不理想。主要是程序根本无法执行。 var
doc:IHTMLDocument2;
all:IHTMLElementCollection;
len,i:integer;
item:OleVariant;
begin
webbrowser1.Navigate('www.baidu.com');
doc:=WebBrowser1 .Document as IHTMLDocument2;
all:=doc.Get_links; //doc.Links亦可
len:=all.length;
for i:=0 to len-1 do begin
item:=all.item(i,varempty); //EmpryParam亦可
memo1.lines.add(item.href);
end;
end;这个是网上找来的,很多地方都有。只要一执行就会报错,停在doc:=WebBrowser1 .Document as IHTMLDocument2;这一行,不知道是什么原因。谁可以给一段可以用的代码?
doc:IHTMLDocument2;
all:IHTMLElementCollection;
len,i:integer;
item:OleVariant;
begin
webbrowser1.Navigate('www.baidu.com');
doc:=WebBrowser1 .Document as IHTMLDocument2;
all:=doc.Get_links; //doc.Links亦可
len:=all.length;
for i:=0 to len-1 do begin
item:=all.item(i,varempty); //EmpryParam亦可
memo1.lines.add(item.href);
end;
end;这个是网上找来的,很多地方都有。只要一执行就会报错,停在doc:=WebBrowser1 .Document as IHTMLDocument2;这一行,不知道是什么原因。谁可以给一段可以用的代码?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货