![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Анализ гипертекста [D1, D2, D3, D4, D5, D6, D7]
Stein © (2004-06-22 18:13:00)Добрый день! Буду признателен за любую информацию о том, как можно проанализировать HTML-страницу, при этом выделив для себя нужную информацию. К примеру: есть таблица, в первой строке которой содержится 'Что-то', во второй - 'Что-то другое'. Как выленить из этой таблицы (из HTML тегов) нужные мне значения?
Darrin (2004-06-22 23:37:00) [1]Вот так я выдерал из HTML все URL:
procedure ExtractURLFromHTML(AHTML: string; var AURL: TStringList; ALink: string);
var
tstr: string;
i: integer;
pStart, pEnd: integer;
htmlName: string;
tAHTML: string; // HTML ????? ? ?????? ????????
const
OpenTag = 'href="';
OpenTag_l = 5;
CloseTag = '"';
CloseTag_l = 1;
begin
//
// for i:=0 to AHTML.Count-1 do
// tstr:=tstr+#13#10+AHTML.Strings[i];
tstr:=AHTML;
tAHTML:=lowercase(tstr);
pStart:=1;
while pStart<>0 do
begin
pStart:=pos(OpenTag,tAHTML);
if pStart<>0 then
begin
delete(tAHTML,1,pStart+OpenTag_l);
delete(tstr,1,pStart+OpenTag_l);
pEnd:=pos(CloseTag,tAHTML);
if pEnd<>0 then
begin
AURL.Add(midstr(tstr,1,pEnd-1));
end;
end;
end;
HTMLname:=ExtractFileNameFromURL(ALink);
pStart:=pos(HTMLname,ALink);
delete(ALink,pStart,length(HTMLname));
i:=length(ALink);
if i>0 then
if not (ALink[i]='/') then ALink:=ALink+'/';
for i:=0 to AURL.Count-1 do
begin
pStart:=pos('http://',AURL.Strings[i]);
if pStart=0 then
AURL.Strings[i]:=ALink+AURL.Strings[i];
end;
end;
Polevi (2004-06-22 23:27:00) [2]F1 string handling routines
Stein (2004-06-22 18:41:00) [3]Спасобо, я наверное некорректно сформулировал вопрос. Мне нужно по-тупому, т.е. ручками это сделать. Анализ текста...
Serge (2004-06-22 18:30:00) [4]uses MSHTML_TLB (import ActiveX)
...
IHTMLElement [outer[inner]Text]
IHTMLTableCol
IHTMLRowRow
IHTMLTableCell
...
TRowCollection : IHTMLElementCollection
Element2 : IHTMLElement2;
TRowCollection := (Element2 As IHTMLElement2).getElementsByTagName('TR');
...
Stein (2004-06-22 18:24:00) [5]Да, забыл, естественно нужно узнать, что 'Что-то' связано именно с 'Что-то другое'.
С уважением.