![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Доброго времени суток форумчане и знатоки.
Сталкнулся с двумя проблемами, прошу помощи. Решил написать свой первый граббер. Первая беда: Код:
if Pos('style=''none;text-decoration: none;''>',strPage) > 0 then Work:=True else begin Work:=False; button1.click; end; ______ button1 - начинает данный цикл. Вторая беда: Вроде собирает как нужно, но иногда просто копирует в Memo полный код html страницы. Можно ли как то это предотвратить? Появилась еще одна ошибка, черт знает из-за чего(в f9): ![]() Вроде как создаю еще один поток, чтобы программа не подвисала: Код:
TNewThread.Create(false); Расчитываю на вашу помощь. С уважением, Иван. Последний раз редактировалось AmNeZiA, 07.09.2014 в 09:03. |
#2
|
||||
|
||||
![]() Ничего не понятно.
Вроде как человек решил написать "граббер" - это программу, которая сливает HTML код веб-страницы чтоли? граббер - понятие растяжимое Сделал, значит, кусок кода, в котором написано, что если в строке strPage (видимо это готовый HTML код страницы) есть 'style=''none;text-decoration: none;''>' тогда work=true, а если нету - то work=false и жмем на кнопку button1, которая начинает загадочный цикл. И тут же непонятно - в чём беда? Снизу таинственная сноска "плюсанул таймер, а на другую кнопочку x5 timer.enabled:=false". Разрулил проблему - снеси из поста вообще эту часть чтоб людей не путать) Вторая беда - иногда таинственный код работает (интересно что он делает), а иногда - не работает, а сливает полный код HTML страницы. Отсюда напрашивается вывод - цель "граббера", видимо, не в сливе HTML кода страницы, а в какой нибудь фильтрации в плане выдергивания данных (емейлов, телефонов, ссылок, хз). Как это предотвратить? Ну, наверное, посмотреть исходники, брейкпоинты проставить где надо, с отладчиком пробежаться десяток раз при разных ситуациях. А еще одна ошибка когда вылезает CPU окно - значит, что пришёл песец, ты что-то такое сделал в коде, что заклинило отладчик и он не кидает тебя в код дельфи, а кидает в дизассемблер на инструкцию с ошибкой, тут надо код смотреть и опять же бегать с отладчиком. Возможно привести программу в более ранний вид, когда она работала (откатить, так сказать, изменения) и плавно по одной строке добавлять эти изменения, смотреть как меняется работоспособность кода. В таком виде это задача для клуба экстрасенсов на ТНТ. |
#3
|
||||
|
||||
![]() ...и ещё какой-то загадочный TNewThread...
|