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初出茅庐。希望高人指点哈,再次不慎感激。。。。。。。。。。。。
中搜索到的链接的内容和网址,取前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初出茅庐。希望高人指点哈,再次不慎感激。。。。。。。。。。。。