Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

Анализ гипертекста   Найти похожие ветки 

 
Stein   (2004-06-22 18:13) [0]

Добрый день! Буду признателен за любую информацию о том, как можно проанализировать HTML-страницу, при этом выделив для себя нужную информацию. К примеру: есть таблица, в первой строке которой содержится "Что-то", во второй - "Что-то другое". Как выленить из этой таблицы (из HTML тегов) нужные мне значения?


 
Stein   (2004-06-22 18:24) [1]

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

С уважением.


 
Serge ©   (2004-06-22 18:30) [2]

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:41) [3]

Спасобо, я наверное некорректно сформулировал вопрос. Мне нужно по-тупому, т.е. ручками это сделать. Анализ текста...


 
Polevi ©   (2004-06-22 23:27) [4]

F1 string handling routines


 
Darrin ©   (2004-06-22 23:37) [5]

Вот так я выдерал из 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;



Страницы: 1 вся ветка

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
6-1084265625
empty
2004-05-11 12:53
2004.07.04
Асинхронная передача данных в Delphi по сети. Поможите кто можите


14-1087377058
Vadim
2004-06-16 13:10
2004.07.04
Проблема с Кладовкой


3-1086674379
din
2004-06-08 09:59
2004.07.04
Как выделить вругим цветом


14-1087133870
European
2004-06-13 17:37
2004.07.04
TChart


1-1087886239
san
2004-06-22 10:37
2004.07.04
Grid с большой шапкой шапкой