一个很急的问题(100分)

  • 主题发起人 主题发起人 cf83325
  • 开始时间 开始时间
C

cf83325

Unregistered / Unconfirmed
GUEST, unregistred user!
大家块来看看。最近做一个软件,提网页链接,比如:我要统计关键字“123”在gooogle
中搜索到的链接的内容和网址,取前10条。方法我倒是知道怎么搞,可是有个小问题,我老是只取到了第1条,总之程序写得有问题。望高人指点。如何取道前10条的标题和关键字链接。看看我的程序,帮小弟改下。再次谢过了。。。。。。

//解析链接的标题
function TForm1.LinkTitle(KeyWord: string):string;
var
i , j , strlen, k : Integer;
begin
i:= Pos('href="' ,KeyWord);
KeyWord:= Copy(KeyWord , i + 6 , Length(KeyWord) - (i + 6));
j:= Pos('target=_blank' , KeyWord);
KeyWord:= Copy(KeyWord , 1 , j - 1);
Result:= KeyWord;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('http://www.google.cn/search?hl=zh-CN&q=123&meta=&aq=f');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
links : OleVariant;
uri ,str : string;
i , j : integer;
begin
links:= WebBrowser1.OleObject.document.getElementsByTagName('A'); //访问标记A的集合对象
str:= str + #13#10;
begin
for i:= 9 to 50 do //第9行开始为关键字链接行, 第50行结束。。
begin
uri:= links.item(i).outerHtml; //获取索引元素的HTML
RichEdit1.Lines.Add(uri);
str:= str + LinkTitle(RichEdit1.Text) + #13#10;
end;
end;
RichEdit1.Text:= str;
RichEdit1.Text:= StringReplace(RichEdit1.Text , '"' , '' ,[rfReplaceAll]);
RichEdit1.Text:= StringReplace(RichEdit1.Text , 'target=_blank>' , '' , [rfReplaceAll]);
end;

结果老是只能得到第一条,不知道循环哪里有错,郁闷得要死,delphi初出茅庐。希望高人指点哈,再次不慎感激。。。。。。。。。。。。
 
links:= WebBrowser1.OleObject.document.getElementsByTagName('A'); //访问标记A的集合对象
str:= str + #13#10;
begin
for i:= 9 to 50 do //第9行开始为关键字链接行, 第50行结束。。
begin
uri:= links.item(i).outerHtml; //获取索引元素的HTML
uri := LinkTitle(uri); //这里改了
RichEdit1.Lines.Add(uri);
//str:= str + LinkTitle(RichEdit1.Text) + #13#10;
end;
end;
//RichEdit1.Text:= str;
RichEdit1.Text:= StringReplace(RichEdit1.Text , '"' , '' ,[rfReplaceAll]);
RichEdit1.Text:= StringReplace(RichEdit1.Text , 'target=_blank>' , '' , [rfReplaceAll]);
该成这样试试?
 
uri:= links.item(i).outerHtml; //获取索引元素的HTML
跟踪下 uri 内容吧
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
745
import
I
I
回复
0
查看
2K
import
I
后退
顶部