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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2013, 20:11   #1
megostudent
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 320
По умолчанию парсит только 1 ссылку и дальше не хочет

ссылки загружаю из файла в переменную pl:TStringList
Код:
procedure mypotok.Execute;
begin
  inherited;
form1.sLabel4.Caption:='Парсим...';
begin
for I := 0 to pl.Count do
begin
  page:=http.Get(pl[i]);
  RegExp.InputString := page;
  RegExp.Expression := '<span itemprop="name">(.*?)</span>';
  if RegExp.Exec then begin
   repeat
    logins.Add(RegExp.Match[1]);
    form1.sMemo1.Lines.Add(RegExp.Match[1]);
   until not RegExp.ExecNext;
  end;
  form1.sLabel2.Caption:=inttostr(form1.sMemo1.Lines.Count);
  if i=pl.Count then begin
    form1.sLabel4.Font.Color:=clgreen;
    form1.sLabel4.Caption:='Готово';
    showmessage('Готово!'+#13+'Сохраните результат...');
  end;
end;
end;
http.Free;
RegExp.Free;

end;
megostudent вне форума Ответить с цитированием
Старый 21.04.2013, 20:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну а ты отладчиком проходил?
На какой строке вылетает или стопорится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.04.2013, 20:48   #3
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

писать в логи еще помогает не по децки
eval вне форума Ответить с цитированием
Старый 21.04.2013, 21:12   #4
megostudent
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 320
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну а ты отладчиком проходил?
На какой строке вылетает или стопорится?
Project1:
007430A8 55 push ebp

сюда стрелкой указало
megostudent вне форума Ответить с цитированием
Старый 21.04.2013, 21:29   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не знаю, почему у Вас парсит одну ссылку,
но в коде у Вас явная ошибка!

Код:
for I := 0 to pl.Count-1 do
begin
  page:=http.Get(pl[i]);
  RegExp.InputString := page;
  RegExp.Expression := '<span itemprop="name">(.*?)</span>';
  if RegExp.Exec then begin
   repeat
    logins.Add(RegExp.Match[1]);
    form1.sMemo1.Lines.Add(RegExp.Match[1]);
   until not RegExp.ExecNext;
  end;
  form1.sLabel2.Caption:=inttostr(form1.sMemo1.Lines.Count);
end;
http.Free;
RegExp.Free;
form1.sLabel4.Font.Color:=clgreen;
form1.sLabel4.Caption:='Готово';
showmessage('Готово!'+#13+'Сохраните результат...');
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.04.2013, 21:51   #6
megostudent
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 320
По умолчанию

все равно только с одной ссылки парсит...
megostudent вне форума Ответить с цитированием
Старый 21.04.2013, 21:57   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
сюда стрелкой указало
Что значит "сюда"?
Указало после чего? После исключения?
Как пошаговку делать ты знаешь? F7-F8 клавиши.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.04.2013, 00:05   #8
megostudent
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 320
По умолчанию

всем спасибо за помощь открыл сниф увидел что там какой-то редирект проходил
включил редирект и все пошло по маслу.
Stilet
Как пошаговку делать ты знаешь? F7-F8 клавиши.
нет, обьясни как делать если не сложно или дай ссыль я поучусь
megostudent вне форума Ответить с цитированием
Старый 22.04.2013, 08:12   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
обьясни как делать
Легко. Становишься на первую строку процедуры, или блока кода, который хочешь отладить - жмешь F5. Устанавливается бряк. Запускаешь программу, она падает на этом месте и далее ты посредством клавиш F7 или F8 делаешь проход по операциям.
Наводя мышку на переменные выясняешь чему они равны, так узнаешь где проблема.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.04.2013, 09:30   #10
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

лично мне вообжще кажется бредом заносить всю страницу в стринглист, проще занести в тот же самый стринг, и у же от туда занасить ссылки в стринглист и точно без регулярных вырожений
bulldog5293 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оставить только ссылку на картинку lbarmen PHP 2 31.05.2011 03:20
Как настроить ссылку указав только папку? juan666777 HTML и CSS 2 29.01.2010 12:57
Остановилось на строке, а дальше не хочет идти prikolist Общие вопросы C/C++ 5 24.03.2009 14:11
Показываем объект и только потом работаем дальше celovec Общие вопросы Delphi 7 25.03.2008 15:28