1. Ty_skin08.05.2024 в 06:26от
Загрузка...

Научите парсить. Delphi

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем andrew14, 08.02.2019.

  1. andrew14

    andrew14

    Статус:
    Оффлайн
    Регистрация:
    05.11.12
    Сообщения:
    39
    Репутация:
    0 +/-
    Всем привет, перечитал весь инет, посмотрел видосы, но так нигде нормально не описанно, как мне парсить нужные мне данные с какого-либо сайта, прошу знатоков помочь)
     
  2. P1CHERT

    P1CHERT

    Статус:
    Оффлайн
    Регистрация:
    17.05.16
    Сообщения:
    260
    Репутация:
    337 +/-
    очень плохо искал,гугл создал великий человек,а ты им пользоваться не умеешь.:stop:
    [​IMG]
     
      Kauffmann нравится это.
  3. Kauffmann

    G R E E N
    Kauffmann

    Статус:
    Оффлайн
    Регистрация:
    21.10.12
    Сообщения:
    3.355
    Репутация:
    907 +/-
    Ай да красава
     
  4. andrew14

    andrew14

    Статус:
    Оффлайн
    Регистрация:
    05.11.12
    Сообщения:
    39
    Репутация:
    0 +/-
    Перечитай то, что я написал
     
  5. DeLIT

    DeLIT

    Статус:
    Оффлайн
    Регистрация:
    08.04.12
    Сообщения:
    4.823
    Репутация:
    5.496 +/-
    Смотри/читай мануалы и туторы по регулярным выражениям.
     
  6. aroz

    aroz

    Статус:
    Оффлайн
    Регистрация:
    10.02.17
    Сообщения:
    109
    Репутация:
    63 +/-
    Как вариант: Найди парсер с опен сурсом и почитай код, что и как он делает, потом по аналогии свой пиши
     
  7. 7.UP

    7.UP

    Статус:
    Оффлайн
    Регистрация:
    15.05.17
    Сообщения:
    4
    Репутация:
    0 +/-
    Код:
    function Pars(T_, ForS, _T: string): string;
    var
      A, B: Integer;
    begin
      Result := '';
      if (T_ = '') or (ForS = '') or (_T = '') then
        Exit;
      A := Pos(T_, ForS);
      if A = 0 then
        Exit
      else
        A := A + Length(T_);
      ForS := Copy(ForS, A, Length(ForS) - A + 1);
      B := Pos(_T, ForS);
      if B > 0 then
        Result := Copy(ForS, 1, B - 1);
    end;
    
    используем так, перед Form1: TForm1;
    напиши Money: string;
    Код:
    Money := Pars('"balance" data-fn="desktop">',HTML.Text, '</a>');
    через регулярное выражение, перед Form1: TForm1;
    напиши reg: tregexpr;
    в uses, regexpr
    Код:
                    reg.Expression := '<Name>(.*?)</Name>';
                    if reg.Exec(HTML.Text) then
                      repeat
                        name.Add(reg.Match[1]);
                      until not reg.ExecNext;