![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно спарсить нужные данные??? [D7, WinXP]
Kukulkan © (2010-05-11 22:46:00)Подскажите пожалуйста как вот например с этой строки
<tr><td style="background:url('/.s/t/873/1.gif') left bottom no-repeat #FFFFFF;text-align:left;padding:10px 10px 7px 0;color:#7C81C3;text-transform:uppercase;font-size:9pt;" align="center"> Список пользователей</td></tr>
Спарсить "Список пользователей"???
Пробывал так
var
s:TStringStream;e:string;i:integer;
begin
s:=TStringStream.Create('');
IdHTTP1.ProxyParams.ProxyPort:=8080;
IdHTTP1.Get(' http://www.baza-lider.at.ua/',s);
e:=s.DataString;
i:=pos('<tr><td style="background:url(''/.s/t/873/1.gif'') left bottom no-repeat #FFFFFF;text-align:left;padding:10px 10px 7px 0;color:#7C81C3;text-transform:uppercase;font-size:9pt;" align="center"> Список пользователей</td>',e);
delete(e,1,i);
i:=pos('>',e);
delete(e,1,i);
i:=pos('</tr>',e);
delete(e,i,length(e)-i);
caption:=e;
memo1.Text := e;
s.Free;
но неполучаеться!!!
12 (2010-05-13 08:44:00) [1]for i := 1 to length(e) do
if
(ord(e[i]) > 200) or (ord(e[i]) = 32)
then
result := result + e[i];
memo1.Text := Trim(result);
Владимир Павлович (2010-05-12 22:42:00) [2]
const valid_str1='<td style="background:url(''/.s/t/873/1.gif'') left bottom no-repeat #FFFFFF;text-align:left;padding:10px 10px 7px 0;color:#7C81C3;text-transform:uppercase;font-size:9pt;" align="center">';
valid_str2='</td>';
var
s:TStringStream;e:string;i:integer;
begin
s:=TStringStream.Create('');
IdHTTP1.ProxyParams.ProxyPort:=8080;
IdHTTP1.Get(' http://www.baza-lider.at.ua/',s);
e:=s.DataString;
s.Free;
i:=pos(valid_str1,e);
if i>0 then
e:=copy(e,i+1+length(valid_str1),length(e)) else showmessage('error1');
i:=pos(valid_str2,e);
if i>0 then
e:=copy(e,1,i-1) else showmessage('error2');
caption:=e;//чей капшен??
memo1.Text := e;