Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.044 c
3-1084022161
xoluay
2004-05-08 17:16
2004.07.04
сохранение базы


3-1086675212
Valeri
2004-06-08 10:13
2004.07.04
Memo - поле


14-1087447444
Alecs61
2004-06-17 08:44
2004.07.04
НАС ЕЩЕ НЕ ПОХОРОНИЛИ?


6-1084020603
serg_kr
2004-05-08 16:50
2004.07.04
FTP в Delphi 8


1-1087844057
Dimases
2004-06-21 22:54
2004.07.04
Не работает стандартная функция ComponentCount! В чем дело?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский