Вверх ↑
Этот топик читают: Гость
Ответов: 1841
Рейтинг: 369
#31: 2011-06-25 02:35:40 ЛС | профиль | цитата
code_24479.txt
карма: 1
0
файлы: 1code_24479.txt [3.5KB] [235]
Разработчик
Ответов: 26164
Рейтинг: 2127
#32: 2011-06-25 02:37:54 ЛС | профиль | цитата
CriDos, странный какой-то у тебя строковый накопитель
карма: 22

0
Ответов: 1841
Рейтинг: 369
#33: 2011-06-25 02:39:38 ЛС | профиль | цитата
nesco, почему странный?
карма: 1
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#34: 2011-06-25 03:12:33 ЛС | профиль | цитата
CriDos писал(а):
почему странный?

Очистки буфера нет, да и выдается результат каждый раз, а не в конце накопления. Короче -- не классическое построение, чем обусловленное -- неизвестно. Черт с ним с событием на каждый чих, но вот то, что нет очистки, то это не есть комильфо, весь новый результат накопления будет приписываться к старому в этом буфере при каждом пуске
карма: 22

0
Ответов: 1841
Рейтинг: 369
#35: 2011-06-25 03:25:05 ЛС | профиль | цитата
nesco писал(а):
но вот то, что нет очистки, то это не есть комильфо

MultiElementEx + Mode: Dynamic
------------ Дoбавленo в 03.25:
nesco писал(а):
да и выдается результат каждый раз, а не в конце накопления.

А вдруг искомая строка находится в начале страницы?
Находим нужную строку и принудительно прерываем соединение с сервером дабы дальше не тратить трафик/время...
карма: 1
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#36: 2011-06-25 03:28:26 ЛС | профиль | цитата
CriDos писал(а):
Mode: Dynamic

Ну не заметил, что в динамике оформляешь, вот и спросил и тыкать в справку совсем не обязательно, мне и так понятно
CriDos писал(а):
Находим нужную строку и принудительно прерываем соединение с сервером дабы дальше не тратить трафик/время...

Логично, больше вопросов нет.
карма: 22

0
Ответов: 1841
Рейтинг: 369
#37: 2011-06-25 03:31:25 ЛС | профиль | цитата
Немного подправил схему.
Убрал 1 лишнее событие на предварительный разрыв соединения с сервером (по запарке забыл убрать).
удалил, см. далее
карма: 1
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#38: 2011-06-25 03:49:24 ЛС | профиль | цитата
CriDos, а вот то, что возможна ситуация, когда произойдет удаление контейнера с запущенным потоком, может привести к краху. Поток перед удалением контейнера надо обязательно останавливать и уничтожать. Это обязательное условие применения потоков внутри контейнера -- перед любым уничтожением контейнера, все внутренние потоки, во всех созданных контейнерах, должны быть остановлены (при остановке поток уничтожается)
------------ Дoбавленo в 03.49:
А еще лучше, уничтожать одноразовые потоки вот по такой схеме



Add(Thread,5489838,121,70)
{
Delay=0
FastStop=0
link(onSyncExec,5489838:doStop,[(165,83)(165,110)(110,110)(110,83)])
}

карма: 22

0
Ответов: 1841
Рейтинг: 369
#39: 2011-06-25 03:53:46 ЛС | профиль | цитата
nesco писал(а):
а вот то, что возможна ситуация, когда произойдет удаление контейнера с запущенным потоком

ну в данном случае даже если с периодичностью в 1 мс запускать контейнер (так же с предварительным удалением) то всё работает хорошо
Но на всякий случай добавил предварительную остановку потока...


Add(MainForm,8643778,420,196)
{
Width=273
Height=146
Color=14605515
Position=1
}
Add(Edit,13326822,242,148)
{
Left=66
Top=25
Width=125
Color=11075502
Font=[Arial,8,1,0,204]
Text="ya.ru"
Alignment=2
}
Add(Message,5261699,419,237)
{
}
Add(MultiElementEx,14864750,329,196)
{
@Hint=#22:Ссылки в Google (link)|
Mode=1
link(onLength,8643778:doCaption,[])
link(onData,5261699:doMessage,[(387,209)(387,243)])
AddHint(-47,-39,125,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,2189608,21,21)
{
WorkCount=#7:##clear|5:##add|
EventCount=#8:onLength|6:onData|
VarCount=#5:Value|
Width=752
Height=151
VOffset=42
HOffset=679
Point(##clear)
Point(##add)
link(##clear,5489838:doStop,[(107,69)(107,83)])
link(##add,14150020:doString,[])
link(Value,13083761:Result,[])
}
Add(FormatStr,14150020,62,70)
{
@Hint=#35:Проверка на склейку + проверка тица|
DataCount=1
Mask="GET /search?hl=en&q=link%3A%1&btnG=Search HTTP/1.0
Host: www.google.com
Connection: Close

"
Point(FString)
link(onFString,5489838:doStart,[])
}
Add(Thread,5489838,121,70)
{
Delay=0
FastStop=0
link(onExec,4865120:doEvent1,[])
}
Add(BlockFind,5315742,550,106)
{
IncludeBlock=1
StartBlock="<div id=resultStats>"
EndBlock="<nobr>"
link(onSearch,10824373:doEvent1,[])
}
Add(StrCat,6762136,445,63)
{
link(onStrCat,13739006:doEvent1,[])
link(Str1,6762136:Result,[(451,51)(439,51)(439,107)(451,107)])
}
Add(Hub,10824373,599,106)
{
link(onEvent1,13355205:doWork,[(626,112)(626,96)])
link(onEvent2,12878760:doReplace,[])
}
Add(TCP_Client,6801830,385,63)
{
Port=80
IP="74.125.230.113"
link(onRead,6762136:doStrCat,[])
link(Data,14150020:FString,[(398,51)(293,51)(293,116)(68,116)])
}
Add(Hub,4865120,177,70)
{
link(onEvent1,13320493:doWork,[])
link(onEvent2,3256833:doWork,[(200,83)(200,92)])
}
Add(LineBreakEx,12874354,313,70)
{
Caption="Close1"
Type=1
link(OnEvent,6801830:doClose,[])
}
Add(LineBreakEx,13320493,209,70)
{
Caption="Connect1"
}
Add(LineBreakEx,15021848,299,54)
{
Caption="Connect1"
Type=1
link(OnEvent,6801830:doOpen,[(375,60)(375,69)])
}
Add(LineBreakEx,3256833,209,86)
{
Caption="Send1"
}
Add(LineBreakEx,10799925,313,86)
{
Caption="Send1"
Type=1
link(OnEvent,6801830:doSend,[(374,92)(374,83)])
}
Add(LineBreakEx,13355205,639,90)
{
Caption="Close1"
}
Add(Length,16675398,550,63)
{
link(onLength,2189608:onLength,[])
}
Add(Hub,13739006,495,63)
{
link(onEvent1,16675398:doLength,[])
link(onEvent2,5315742:doSearch,[(529,76)(529,112)])
}
Add(TCP_Server,7581070,23,182)
{
@Color=8487297
}
Add(Replace,12878760,644,113)
{
SubStr="result"
link(onReplace,13083761:doTrim,[])
}
Add(Trim,13083761,700,113)
{
Char=" "
Point(Result)
link(onTrim,2189608:onData,[(752,119)(752,76)])
}
END_SDK
Add(Button,15482294,193,196)
{
Left=101
Top=55
Font=[Arial Narrow,8,0,0,204]
link(onClick,9384221:doData,[])
}
Add(Hub,15864013,294,196)
{
link(onEvent1,14864750:##clear,[])
link(onEvent2,14864750:##add,[])
}
Add(DoData,9384221,242,196)
{
link(onEventData,15864013:doEvent1,[])
link(Data,13326822:Text,[])
}
Add(StyleXP,1943646,420,161)
{
}
карма: 1
0
Ответов: 16884
Рейтинг: 1239
#40: 2011-06-25 08:33:30 ЛС | профиль | цитата
1nd1g0 писал(а):
схема не умеет выполнять скрипты
++

html-1.png
Читает страницу полностью (схема г. Алекс М. из первого поста) после чтения отправил с Memo на WebBrowser. Ничего обрезанного не видно, кроме подсчета затраченного времени - результат невыполнения скриптов. Отсюда и отсутствие resultStats.
Tad писал(а):
Не надо искать черную кошку в черной комнате.
Особенно когда её там нет.


Страница отобразилась полностью (специально картинку для неверующих перегнал в конец.
По поводу
nesco писал(а):
Blur(pixelradius=5)";opacity:1
() - в данной схеме не подтверждается.
прекрасно проходит через все компоненты.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1html-1.png [124.8KB] [398]
Ответов: 3889
Рейтинг: 362
#41: 2011-06-25 10:12:28 ЛС | профиль | цитата
Tad, ну наконец-то ещё кто-то заметил, что
1nd1g0 писал(а):
у гугла динамически генерируемая на стороне клиента страница

Все так увлеклись технологиями, включая меня, глядя на всеобщий игнор я почти поверил, что ошибался т.к. проверить схему тогда не мог. А ведь чтобы изначальная схема топикстартера отработала как надо, достаточно всего лишь стереть содержимое поля UserAgent в HTTP_Get
Не понимая, чем вы его качаете, Google на всякий случай выдаст страничку с результатами в голом HTML. А когда вы косите под всякие мозиллы, сами напрашиваетесь на AJAX, а потом "ой, где же теги, куда они делись, что это за хрень мне выдали на мой запрос" Наворотили три страницы и пачку схем вместо того, чтобы вернуться к первому посту и удалить строчку текста. Мда. Это про нас.
карма: 1

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#42: 2011-06-25 12:33:33 ЛС | профиль | цитата
Tad писал(а):
в данной схеме не подтверждается

А какую схему смотрел, первую или вторую
Во второй схеме никто никуда ничего не качает, а тупо парсим готовый, уже скаченный текст. Мы о разных схемах говорим, совершенно. Ты мне суешь первую, но в первой совсем другая страница читается, там совсем нет нужного блока.
------------ Дoбавленo в 12.33:
Пойдем другим путем. Вот схема -- project_parsingtext_012.sha
Объясните мне, куда делись остальные блоки <>
карма: 22

0
файлы: 1project_parsingtext_012.sha [82.5KB] [239]
Ответов: 1841
Рейтинг: 369
#43: 2011-06-25 12:50:38 ЛС | профиль | цитата
nesco писал(а):
Объясните мне, куда делись остальные блоки <>

code_24487.txt
карма: 1
0
файлы: 1code_24487.txt [454B] [206]
Разработчик
Ответов: 26164
Рейтинг: 2127
#44: 2011-06-25 13:04:44 ЛС | профиль | цитата
CriDos, меня не интересует решение этой задачи, я его и сам знаю. Но твоя схема то же режет текст, ты ее хоть проверял на тексте Меня интересует именно та схема, которая мной приведена, именно в ней мне интересно знать куда пропала добрая половина текста и правильно ли утверждение
nesco писал(а):
Вот виновник невозможности поиска -- Blur(pixelradius=5)";opacity:1
именно в этой схеме
------------ Дoбавленo в 13.04:
Причем, это не компонент BlockFind виноват, я проверял эту схему и с MultiBlockFind, там другой алгоритм поиска, но результат тот же
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#45: 2011-06-25 14:18:18 ЛС | профиль | цитата
Вот виновник невозможности поиска -- Blur(pixelradius=5)";opacity:1

А здесь виноватых нет
code_24489.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_24489.txt [1.8KB] [211]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)