我需要写一段读取连续几个网页中的数据,可为什么只能读取第一个网页的内容?请高手指点!
form1上有botton1按钮,memo1和memo2,edit1里是网址,edit2里是开始日期
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
lsrq:Tdatetime;
sjadd:string;
begin
sjadd:='http://www.p5w.net/p5w/home/data/gengra/index';
edit1.Text:=sjadd;
Edit2.Text:=DateToStr(Date-15);
lsrq:=strtodate(edit2.Text);
while lsrq<date do
begin
lsrq:=lsrq+1;
Edit2.Text:=FormatDateTime('YYYYMMDD',lsrq);
if dayofweek(lsrq) in [2..6] then downsj();
end;
end;
procedure downsj();
var
PSrc: string;
p:integer;
rq:string;//array[1..11] of char;
shz,szz:string[13];
shj,szj:string[13];
begin
form1.edit1.Text:=sjadd+form1.edit2.text+'.html';
form1.WebBrowser1.Busy;
form1.WebBrowser1.Navigate(form1.edit1.Text);
while form1.WebBrowser1.Busy do Application.ProcessMessages; //读取网页内容到memo1中
PSrc := IHtmlDocument2(form1.WebBrowser1.Document).Body.outertext;//得到網頁中所有文字
form1.memo1.Lines.Add(psrc);
//取深圳流通市值
readch:=form1.memo1.Lines[20];
szz:=getnum(4);
//取上海流通市值
readch:=form1.memo1.Lines[37];
shz:=getnum(4);
//取深圳成交值
readch:=form1.memo1.Lines[56];
szj:=getnum(5);
//取上海成交值
readch:=form1.memo1.Lines[80];
shj:=getnum(5);
//取日期
rq:=copy(form1.memo1.Lines[10],20,10);
with form1 do begin
memo2.Lines.Add('---'+rq+'---');
memo2.Lines.Add(shz);
memo2.Lines.Add(szz);
memo2.Lines.Add(shj);
memo2.Lines.Add(szj);
end;
end;