Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2013, 16:53   #1
apostol584
Пользователь
 
Регистрация: 29.11.2012
Сообщений: 11
По умолчанию IdHTTP1.Get пропускает часть html

Здравствуйте, решил написать парсер, но столкнулся с проблемой, при попытке закгрузить html код, часть пропускается, не знаю как решить данную проблему.
Код:
var
  Site: TNnmClub;//парсит описание
  str: String;
  i, a, b: integer;
  bol: boolean;
  f1, f2: textfile;

begin
  bol := true;
  assignfile(f1, 'file1.html');
  assignfile(f2, 'file2.html');
  rewrite(f1);
  rewrite(f2);
  try
    str := IdHTTP1.Get(Edit1.Text);
  except
    showmessage('Не удалось подключиться');
    bol := false;
  end;
  if bol = true then
  begin
    writeln(f1, str);
    i := 1;
    Site := TNnmClub.Create;
    try
      try
        i := pos('<span class="postbody">', str);//выделяем начало кода, который нужно парсить 
        if i > 0 then
        begin
          delete(str, 1, i + 22);
          i := pos('<tr><td colspan="2">', str);//конец кода, который нужно парсить
          if (i > 0) then
          begin
            str := copy(str, 1, i-1);//копируем нужный фрагмент кода
            writeln(f2, str);
            while length(str) > 14 do
              Memo1.Text := Memo1.Text + Site.seach(str);//парсит полученный код
            Form1.Height := 370;
            Memo1.Visible := true;
          end
          else
            showmessage('Описание не найдено');
        end
        else
          showmessage('Описание не найдено');
      except
        showmessage('Парсинг не удался');
      end;
    finally
      Site.Destroy;
      closefile(f1);
      closefile(f2);
    end;
  end;
end;


Код HTML:
<br />
<br />
<span style="color: #008040">
    <span style="font-weight: bold"> 
    </a>
    <div class="spoiler-wrap">  
        <div class="spoiler-body" title="Особенности игры"></span></span><br />
            <span style="color: #800040">
                Возможность прокачивать навыки<br />
                * Режим Ярости, в котором герой разрывает врагов на куски.<br />
                * Новые игровые режимы<br />
                * Режим &quot;Арена&quot;, в котором нужно сражаться против все более сильных вражеских отрядов<br />
                * Режим &quot;Испытания&quot;, в котором вы можете проявить не только боевое мастерство, но и смекалку<br />
                * Режим &quot;Хардкор&quot; - для тех, кто ценит настоящую сложность<br />
                * Расчлененка<br />
                * Переработанная и значительно улучшена графика и эффекты<br />
                * Новые локации и новые персонажи 
            </span>     
        </div>
    </div>
 <span style="color: #0080FF">
    <span style="font-weight: bold">Скриншоты</span>

<!---------------------код, который получаю функцией GET----------------->

<br />
<br />
<span style="color: #008040">
    <span style="font-weight: bold"> 
    </a>

<!-- этот тег не загружается
    <div class="spoiler-wrap">  
        <div class="spoiler-body" title="Особенности игры"></span></span><br />
            <span style="color: #800040">
                Возможность прокачивать навыки<br />
                * Режим Ярости, в котором герой разрывает врагов на куски.<br />
                * Новые игровые режимы<br />
                * Режим &quot;Арена&quot;, в котором нужно сражаться против все более сильных вражеских отрядов<br />
                * Режим &quot;Испытания&quot;, в котором вы можете проявить не только боевое мастерство, но и смекалку<br />
                * Режим &quot;Хардкор&quot; - для тех, кто ценит настоящую сложность<br />
                * Расчлененка<br />
                * Переработанная и значительно улучшена графика и эффекты<br />
                * Новые локации и новые персонажи 
            </span>     
        </div>
    </div>
----------->
 <span style="color: #0080FF">
    <span style="font-weight: bold">Скриншоты</span>

Последний раз редактировалось apostol584; 09.06.2013 в 16:57.
apostol584 вне форума Ответить с цитированием
Старый 10.06.2013, 10:19   #2
Mifody
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 215
По умолчанию

а ява там не шалит случайно?
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Mifody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пропускает Readln(<string>) olololeg Паскаль, Turbo Pascal, PascalABC.NET 11 12.11.2012 18:49
TWebBrowser - при открытии показать отмеченную якорем часть HTML документа AvRob Компоненты Delphi 3 22.06.2012 21:38
Цикл For c TsCheckBox пропускает значения 0 2 3 ... ArtGrek Общие вопросы Delphi 7 30.01.2011 12:43
FindFirstFile не пропускает папки Nitrino Win Api 2 20.06.2010 20:03
Как открыть часть html страницы в программе grafgrial Общие вопросы Delphi 8 28.04.2010 17:42