Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.09.2014, 05:58
Аватар для AmNeZiA
AmNeZiA AmNeZiA вне форума
Прохожий
 
Регистрация: 20.03.2011
Сообщения: 29
Репутация: 10
Вопрос Вечный цикл + IdHTTP.Get

Доброго времени суток форумчане и знатоки.
Сталкнулся с двумя проблемами, прошу помощи.
Решил написать свой первый граббер.
Первая беда:
Код:
if Pos('style=''none;text-decoration: none;''>',strPage) > 0 then
Work:=True  else
begin
Work:=False;
button1.click;
end;
______
button1 - начинает данный цикл.
//С первым удалось справится, плюсанул к этому таймер а на другую кнопочку x5 timer.enabled:=false

Вторая беда:
Вроде собирает как нужно, но иногда просто копирует в Memo полный код html страницы.

Можно ли как то это предотвратить?

Появилась еще одна ошибка, черт знает из-за чего(в f9):


Вроде как создаю еще один поток, чтобы программа не подвисала:
Код:
TNewThread.Create(false);
Все равно начинает висеть через некоторое время.
Расчитываю на вашу помощь.
С уважением, Иван.

Последний раз редактировалось AmNeZiA, 07.09.2014 в 09:03.
Ответить с цитированием
  #2  
Старый 07.09.2014, 16:35
Аватар для blackstrip
blackstrip blackstrip вне форума
Прохожий
 
Регистрация: 03.09.2014
Адрес: Подольск
Сообщения: 15
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Ничего не понятно.

Вроде как человек решил написать "граббер" - это программу, которая сливает HTML код веб-страницы чтоли? граббер - понятие растяжимое

Сделал, значит, кусок кода, в котором написано, что если в строке strPage (видимо это готовый HTML код страницы) есть 'style=''none;text-decoration: none;''>' тогда work=true, а если нету - то work=false и жмем на кнопку button1, которая начинает загадочный цикл.

И тут же непонятно - в чём беда? Снизу таинственная сноска "плюсанул таймер, а на другую кнопочку x5 timer.enabled:=false". Разрулил проблему - снеси из поста вообще эту часть чтоб людей не путать)

Вторая беда - иногда таинственный код работает (интересно что он делает), а иногда - не работает, а сливает полный код HTML страницы. Отсюда напрашивается вывод - цель "граббера", видимо, не в сливе HTML кода страницы, а в какой нибудь фильтрации в плане выдергивания данных (емейлов, телефонов, ссылок, хз).

Как это предотвратить? Ну, наверное, посмотреть исходники, брейкпоинты проставить где надо, с отладчиком пробежаться десяток раз при разных ситуациях.

А еще одна ошибка когда вылезает CPU окно - значит, что пришёл песец, ты что-то такое сделал в коде, что заклинило отладчик и он не кидает тебя в код дельфи, а кидает в дизассемблер на инструкцию с ошибкой, тут надо код смотреть и опять же бегать с отладчиком. Возможно привести программу в более ранний вид, когда она работала (откатить, так сказать, изменения) и плавно по одной строке добавлять эти изменения, смотреть как меняется работоспособность кода.

В таком виде это задача для клуба экстрасенсов на ТНТ.
Ответить с цитированием
  #3  
Старый 08.09.2014, 00:12
Аватар для min@y™
min@y™ min@y™ вне форума
Заблокирован
 
Регистрация: 29.08.2014
Адрес: Рязань
Сообщения: 26
Версия Delphi: D7, CB6, etc
Репутация: 10
По умолчанию

...и ещё какой-то загадочный TNewThread...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:24.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025