Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Анализ гипертекста [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]

Да, забыл, естественно нужно узнать, что 'Что-то' связано именно с 'Что-то другое'.

С уважением.


Наверх

Титульная страница Поиск, карта сайта Написать письмо