Парсинг частей страницы.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Frost1k, 11 Jan 2013.

  1. Frost1k

    Frost1k New Member

    Joined:
    28 Aug 2012
    Messages:
    0
    Likes Received:
    0
    Reputations:
    -5
    Загружаю страницу в string.
    Вот сам исх. код страницы:
    Отсюда нужно вырезать [email protected].
    Может кто помочь? Работаю на Delphi 7.
     
  2. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    RegExpr
    /E-mail: (.*) <br \>ICQ/
     
  3. Frost1k

    Frost1k New Member

    Joined:
    28 Aug 2012
    Messages:
    0
    Likes Received:
    0
    Reputations:
    -5
    justonline Не понял написанного вообще.
    ПО моему код должен выглядеть примерно вот так:
    Только не работает это.
    И вот еще что нужно. Забыл код, немогу вспомнить.
    Допустим я нажимаю на кнопку и включается таймер.
    В таймере есть эта функция парсинга, но по заданным данным.
    Данные надо брать из Listbox2. И как сделать чтобы в следующий раз брались следующие данные.

    Если не поняли:
    Мне надо, чтобы сначало парсилось с данным 111.
    Потом с данным 222. Т.е. прокрутка Listbox'a с выделением.
     
  4. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    я сам не претендую даже на уверенный начальный уровень делфи и сам попадал в ситуации, когда просил здесь помощи, но пытаться освоить сразу наскоком - не получится. в своем сообщении я указал либу, которой я обычно пользуюсь.
    да, все верно, получаете через idhttp и потом парсите ответ или штатными средствами делфей или через regexpr ... я даже шаблон указал
     
  5. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Ищете модуль RegExpr.pas, скачиваете его. Затем подключаете его - uses RegExpr;
    Потом можно сделать так:
    Code:
    var
      RegExp : TRegExpr;
      S : String;
    begin
      S := 'html code';
      RegExp := TRegExpr.Create;
      RegExp.Expression := 'E-Mail: (.*?) <br />';
      if RegExp.Exec(S) then
        begin
          // Мыло найдено 
          ShowMessage(RegExp.Match[1]); 
         // Если нужно искать несколько
          repeat
            Memo1.Lines.Append(RegExp.Match[1]);
          until not RegExp.ExecNext;
        end
        else
          // Мыло не найдено
      FreeAndNil(RegExp);
    end;
    
    P.S. Полистайте регулярные выражения. Примеры и т.д.  :)