Ну вот и я собрался написать про данный продукт. Хочу сказать, что юзаю его в этой форме с самого начала второй версии, а покупал в числе первых. Первая версия была- мягко сказать- не юзабильна для меня, я её отложил до выхода второй версии. Я не владею программированием, и именно поэтому прикупил этот продукт. И скажу- не жалею абсолютно. Есть и хуман у меня, но в силу того, что в пхп я не силён- он практически пылится на винте don-t_mention.gif
Я его не сравниваю с хуманом, я делюсь своими впечатлениями от того, как работается мне с Зенно Постером. В общей сложности я работаю примерно с 40 шаблонами- от реги доменов и пропиской их на серваке, до генерации доров и их дальнейшей регистрацией в разных ресурсах. Размещение статей и парсинг кеев. Я не говорю что Зенно справляется с этим лучше или хуже Хумана- я не могу их сравнивать, т.к. хуманом я этого САМ сделать не смогу. А тут я делаю конфиг в среднем минут 15-20.
Плюсы:
как говорили ранее- это прога для тех кто не шарит в кодинге ( я )
понятный интерфейс
многопоточность. на сервере я юзал его в 20 потоков без проблем.
дебаггер- видно где допущена ошибка при тесте конфига
работа с прокси и соксами, как листы так и с урлом
работа с антикапчей и капчаботом на самом простом уровне- из настроек надо указать только свой ид в системе и длл подключен и исправно пашет
ну и много чего ещё, всего не перечислить, да думаю что и топик то не про это on_the_quiet.gif
Минусы:
Постер не справляется с некоторыми формами, но я уверен что справится в ближайшем будующем ( саппорт- вам привет!)
Прокси чекер вроде не совсем корректно работает, но это опять же не сильно пока напрягает
Больше я минусов не нашёл
Что хотелось бы видеть:
Расписание ( ну очень надо)
Скачку и закачку файлов через формы
Ну и в рамках этого конкурса я опишу свой конфиг регистрации фришных сабов на фрихостинге fateback.com
Я не смог сделать видео- никогда этим не занимался. Поэтому будет код.
Особенности ресурса:
капча.
Пасс приходит в письме.
Несколько доменов для регистрации сабов на них.
Доры на них лезут нормально
Алгоритм:
Идём на страницу регистрации
Создаём аккаунт
Проверяем мыло и получаем пасс
Заходим в админку
Регаем сабы
Записываем результат в файл
<Step Number="0" Module="Get"> <Input ID="first_input" URL="http://fateback.com/" Referer="" CookieString="blank" CookieFileName="" ClearCache="false" UseFrames="True" LoadingPageTimeout="300" /> [i]идём на страницу регистрации[/i] <Event ID="event_anchor_click_781" Type="click_by_anchor" HtmlElementId="" DN="0" TextRegExp="sign up" TextNumber="0" LinkRegExp="http:\/\/www\.fateback\.com\/signup\/" LinkNumber="0" /> [i]нажимаем регистрировать[/i] <Event ID="setiv_f0text_0__423" Type="set_input_value" FormId="loginForm" HtmlElementId="f0text_0" ElementClass="text" EN="0" FN="0" DN="0" Value="$($Random.Text$$$8$)$" /> [i]генерим логин[/i] <Output ID="email" Source="from_file" FileName="$($macApplication.StartupPath$)$\Resources\fateback\email.txt" NumberOfString="0" NeedDelGetingValue="true" RegExp="" Value="" /> [i]указываем файл, в котором лежит емайл для реги и с которого мы потом будем парсить пароль. Строка с использованным мылом удаляется[/i] <Event ID="setiv_f0text_1__645" Type="set_input_value" FormId="loginForm" HtmlElementId="f0text_1" ElementClass="text" EN="1" FN="0" DN="0" Value="$($FieldData.FieldData$$$0$$$email$$$Value$)$" /> [i]в поле для мыла вставляем мыло из файла[/i] <Event ID="setiv_f0text_2__783" Type="set_input_value" FormId="loginForm" HtmlElementId="f0text_2" ElementClass="text" EN="2" FN="0" DN="0" Value="$($FieldData.FieldData$$$0$$$setiv_f0text_1__645$$$Value$)$" /> [i]повторяем мыло[/i] <Event ID="setiv_f0select_0__848" Type="set_input_value" FormId="loginForm" HtmlElementId="f0select_0" ElementClass="select" EN="0" FN="0" DN="0" Value="$($Random.Int$$$200$$$220$)$" /> [i]берём на выбор из выпадающего списка значения[/i] <Event ID="event_captcha_recognition_73" Type="captcha_recognition" ImageId="f0image_0" EN="0" FN="0" DN="0" FileName="$($macApplication.StartupPath$)$MonkeyEnter.dll" ShowText="" Params="" Value="" /> [i]указываем капчу[/i] <Event ID="setiv_f0text_4__265" Type="set_input_value" FormId="loginForm" HtmlElementId="f0text_4" ElementClass="text" EN="4" FN="0" DN="0" Value="$($FieldData.FieldData$$$0$$$event_captcha_recognition_73$$$Value$)$" /> [i]вставляем значение капчи в поле для ввода капчи[/i] <Event ID="setiv_f0text_3__759" Type="set_input_value" FormId="loginForm" HtmlElementId="f0text_3" ElementClass="text" EN="3" FN="0" DN="0" Value="Gordon" /> [i]просто значение, можно рандомное тоже[/i] <Event ID="setiv_f0checkbox_0__195" Type="set_input_value" FormId="loginForm" HtmlElementId="f0checkbox_0" ElementClass="checkbox" EN="0" FN="0" DN="0" Value="True" /> [i]чекбокс[/i] <Event ID="event_button_f0button_0_112" Type="rise_event" FormId="loginForm" HtmlElementId="f0button_0" ElementClass="image" EN="0" FN="0" DN="0" Action="click" /> [i]кликаем по кнопочке[/i] <Output ID="passemail" Source="from_file" FileName="$($macApplication.StartupPath$)$\Resources\fateback\passemail.txt" NumberOfString="0" NeedDelGetingValue="false" RegExp="" Value="" /> [i]указываем на файл, в котором хранится пара логин:пароль для ящика[/i] </Step>Что мы видим? Есть несколько оутов с ресурсами из файлов.
email.txt - список мыл
passemail.txt - пароли к мылам. Почему я делаю так? Так мне удобней. Тогда не надо править конфиг, а только правильные данные записать в файлы.
Поехали проверять мыло на наличие пароля.
<Step Number="1" Module="MailConfirmation"> <Input ID="from_subject_parser" Value="" /> <Input ID="personal_data_parser" Value="$($FieldData.FieldData$$$0$$$setiv_f0text_0__423$$$Value$)$" /> [i]здесь стоит ссылка макрос на поле с логином. Тогда мы найдём именно наше письмо[/i] <Input ID="confirm_url_parser" Value="(?<=Password: ).*" /> [i]парсим мыло на пароль[/i] <Input ID="use_ssl" Value="true" /> <Input ID="port" Value="995" /> <Input ID="pop_server" Value="pop.gmail.com" /> <Input ID="password" Value="$($RegExp.RegExp$$$$($FieldData.FieldData$$$0$$$passemail$$$Value$)$$$$(?<=:).*$$$0$)$" /> [i]парсим файл с паролями к ящику на пароль к ящику[/i] <Input ID="user_name" Value="$($RegExp.RegExp$$$$($FieldData.FieldData$$$0$$$passemail$$$Value$)$$$$.*(?=:)$$$0$)$" /> [i]парсим файл с паролями к ящику на логин к ящику[/i] <Input ID="delay" Value="100" /> <Output ID="result" Value="" /> </Step>Теперь у нас есть пароль к акаунту. В следующем шаге мы его используем для входа.
<Step Number="2" Module="Get"> <Input ID="first_input" URL="http://www.fateback.com/members" Referer="" CookieString="blank" CookieFileName="" ClearCache="false" UseFrames="True" LoadingPageTimeout="300" /> [i]пришли на страницу входа[/i] <Event ID="setiv_f0text_0__792" Type="set_input_value" FormId="loginForm" HtmlElementId="f0text_0" ElementClass="text" EN="0" FN="0" DN="0" Value="$($FieldData.FieldData$$$0$$$setiv_f0text_0__423$$$Value$)$" /> [i]вводим из шага 0 логин[/i] <Event ID="setiv_f0password_0__366" Type="set_input_value" FormId="loginForm" HtmlElementId="f0password_0" ElementClass="password" EN="0" FN="0" DN="0" Value="$($FieldData.FieldData$$$1$$$result$$$Value$)$" /> [i]вводим взятый из письма пароль[/i] <Event ID="event_button_f0button_0_891" Type="rise_event" FormId="loginForm" HtmlElementId="f0button_0" ElementClass="submit" EN="0" FN="0" DN="0" Action="click" /> [i]кликаем и входим в админку[/i] <Event ID="event_anchor_click_489" Type="click_by_anchor" HtmlElementId="" DN="0" TextRegExp=" Add web site \(subdomain\)" TextNumber="-1" LinkRegExp="http:\/\/www\.fateback\.com\/members\/" LinkNumber="0" /> [i]кликаем на ссылку чтобы добавить саб[/i] <Event ID="setiv_f0text_0__11" Type="set_input_value" FormId="form_0" HtmlElementId="f0text_0" ElementClass="text" EN="0" FN="0" DN="0" Value="$($Random.Text$$$7$)$" /> [i]генерируем имя сабдомена[/i] <Event ID="setiv_f0select_0__260" Type="set_input_value" FormId="form_0" HtmlElementId="f0select_0" ElementClass="select" EN="0" FN="0" DN="0" Value="$($Random.Int$$$1$$$10$)$" /> [i]выбираем имя домена из выпадающего списка рандомно[/i] <Event ID="event_button_f0button_0_723" Type="rise_event" FormId="form_0" HtmlElementId="f0button_0" ElementClass="submit" EN="0" FN="0" DN="0" Action="click" /> [i]регаем саб[/i] <Output ID="page" Source="page" RegExp="(?<=open\(\')http.*(?=\'\)\" )$$$all" Value="" /> [i]берём соурс страницы[/i] </Step>Часть с регой сабов можно повторять несколько раз, но не советую регать сразу 40 доменов, т.к. они будут залочены через некоторое время. Себе на 1 акаунт я регаю 10 сабов. Зачем я взял соурс страницы? А затем, что бы спарсить с него имя регнутого саба. В следующем шаге я сохраню полученные данные.
<Step Number="3" Module="SaveResults"> <Input ID="file" FileName="$($macApplication.StartupPath$)$\Resources\fateback\domen.txt" Value="$($FieldData.FieldData$$$2$$$page$$$Value$)$" /> [i]сохраняем имя саба. Данные берутся из предыдущего шага из оута с соурсом страницы.[/i] </Step> <Step Number="4" Module="SaveResults"> <Input ID="file" FileName="$($macApplication.StartupPath$)$\Resources\fateback\loginpass.txt" Value="$($FieldData.FieldData$$$0$$$setiv_f0text_0__423$$$Value$)$;$($FieldData.FieldData$$$1$$$result$$$Value$)$" /> [i]сохраняем данные для входа в админку. Данные получены из шага 0 для логина и шага 1 для пароля[/i] </Step>И это всё. Вы можете сами переделать под свои нужды полученный результат. Я , например, сохраняю в несколько иной форме данные, т.к. их сразу использую по назначению.
На написание этого конфига у меня ушло минут 30, и это при том, что я не владею программой на уровне уверенного пользователя. С регвырами я тоже не знаком, но помогает очень встроенный тестер - ещё раз спасибо разработчикам!- и было пару вопросо к нуару в асе, которые мы решили за 10 минут. Если даже изменится что то на фатебак то я смогу сам всё решить за 5 минут, и мне не нужен кодер.
Прикреплю также полный файл конфига. Там регистрирует 10 сабов.
Спасибо за внимание и респект разработчикам ещё раз. Зенно Постер у меня практически не выключается и подумываю о приобретении второй лицухи.
]]>http://rapidshare.co...serreg.xml.html]]>