Author Topic: Поиск сайта по выдаче яндекса  (Read 15631 times)

0 Members and 4 Guests are viewing this topic.

Enot

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Поиск сайта по выдаче яндекса
« on: August 13, 2014, 01:27:55 PM »
добрый день, пожалуйста помогите, как написать в кликермане, чтобы лазил на яндексе по определенному поисковому запросу, если на одной странице не находил определенною картинку ( http://autonew16.ru/images/favicon.ico ) то переходил бы на следующий страницу и продолжал искать пока не найдет. как сделать помогите пожалуйста
« Last Edit: August 13, 2014, 02:18:44 PM by Enot »
Лучший друг - это придурок, с которым никогда не бывает скучно. Если у вас есть такой друг - цените его. Ведь жизнь без сумасшедших друзей - это не жизнь.

Dampil

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
    • @pump_upp - best crypto pumps on telegram !
Re: Поиск сайта по выдаче яндекса
« Reply #1 on: August 13, 2014, 03:38:23 PM »
могу ошибаться, но...
Алгоритм примерно следующий: ввод запроса(тут можно и руками), далее - левый клик по первым координатам, в цикле: getscreen, поиск картинки на открытой части страницы, проверка на конец страницы, пролистывание посылом pgdown; если конец страницы достигнут, break(так, вроде для выхода), возврат к странице яндеха, перевод курсора на N пихелей ниже, повтор алгоритма

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #2 on: August 13, 2014, 04:05:35 PM »
Как то так:
Code: (clickermann) [Select]
#name "favicon search in Yandex"
// Author: Vint
// Version: 1.0 (13.08.2014)

$zapros = "лунная афёра"
$page_all = 10   // просматривать страниц
$brawser = "firefox.exe"

//==============================================================================
SUB(close) //===================================================================
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#W)
   WAITMS (50)
   KEYUP (#W)
   KEYUP (#CTRL)
   WAITMS(500)
END_SUB

//==============================================================================

LOGCLEAR
$hwnd = WNDFIND("Mozilla Firefox")
IF($hwnd > 0)
   EXECUTE("firefox.exe", "yandex.ru")      //запуск Мозилы
   WAIT(3)
END_IF

$zapros = STRREPLACE ($zapros, " ", "%20")   // лечение пробелов
FOR($page=0, $page<$page_all)
   $param = STRCONCAT("yandex.ru/yandsearch?lr=213&text=", $zapros, "&p=", $page)
   LOGWRITE ("Страница ", $page)
   //LOGWRITE ($param)
   EXECUTE($brawser, $param)   //открываем страницу
   WAITMS(1500)
   LCLICK(5,500)
   WAITMS(50)
   
   $var = 1
   WHILE($var = 1)
      //LOGWRITE ("ищем...")
      GETSCREEN
      IF_PICTURE_IN (100,0,$_xmax-35,$_ymax, "favicon.bmp") // 16777215
         LOGWRITE ("Найдено на странице ", $page)
         HINTPOPUP(STRCONCAT("страница ", $page), "Найдено!")
         LOGSHOW (1,$_xmax-335,28) // отображение окна лога
         WNDSIZE(WNDFIND("Clickermann - Лог"),336,260) // изменения размеров окна лога
         HALT
      END_IF
     
      // мотаем ниже
      $hash1 = PXLCRC (220,180,230,800)
      WHEELDOWN(6)
      WAITMS(100)
      GETSCREEN
      $hash2 = PXLCRC (220,180,230,800)
     
      IF($hash1 = $hash2)
         close() // закрываем вкладку
         $var = 0
      END_IF
      WAITMS(500)
   END_CYC
END_CYC
LOGWRITE ("Ничего не найдено. Пройдено ", $page_all, " страниц")
HINTPOPUP(STRCONCAT("Не найдено на ", $page_all, " стр."), "Не найдено")
LOGSHOW (1,$_xmax-335,28) // отображение окна лога
WNDSIZE(WNDFIND("Clickermann - Лог"),336,260) // изменения размеров окна лога
HALT


Enot

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #3 on: August 13, 2014, 05:25:30 PM »
спасибо большое. а как потом сделать чтобы он на сайт заходил найденый
Лучший друг - это придурок, с которым никогда не бывает скучно. Если у вас есть такой друг - цените его. Ведь жизнь без сумасшедших друзей - это не жизнь.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #4 on: August 13, 2014, 05:43:07 PM »
перед 48 строкой
кликнуть ниже и правее найденной
Code: (clickermann) [Select]
LCLICK($_return1+50, $_return2+10)


Enot

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #5 on: August 13, 2014, 05:47:17 PM »
спасибо большое
Лучший друг - это придурок, с которым никогда не бывает скучно. Если у вас есть такой друг - цените его. Ведь жизнь без сумасшедших друзей - это не жизнь.

Enot

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #6 on: August 14, 2014, 10:01:24 AM »
помогите пожалуйста. этот скрипт нашел мне саит и зашел к нему, у меня не получается чтобы запускался второи скрипт который будет уже выполнять другую команду
Code: (clickermann) [Select]
#name "favicon search in Yandex"
// Author: Vint
// Version: 1.0 (13.08.2014)

$zapros = "тюнинг Мазда6"
$page_all = 10   // просматривать страниц
$brawser = "firefox.exe"

//==============================================================================
SUB(close) //===================================================================
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#W)
   WAITMS (50)
   KEYUP (#W)
   KEYUP (#CTRL)
   WAITMS(500)
END_SUB

//==============================================================================

LOGCLEAR
$hwnd = WNDFIND("Mozilla Firefox")
IF($hwnd > 0)
   EXECUTE("firefox.exe", "yandex.ru")      //запуск Мозилы
   WAIT(3)
END_IF

$zapros = STRREPLACE ($zapros, " ", "%20")   // лечение пробелов
FOR($page=0, $page<$page_all)
   $param = STRCONCAT("yandex.ru/yandsearch?lr=213&text=", $zapros, "&p=", $page)
   LOGWRITE ("Страница ", $page)
   //LOGWRITE ($param)
   EXECUTE($brawser, $param)   //открываем страницу
   WAITMS(1500)
   LCLICK(5,500)
   WAITMS(50)
   
   $var = 1
   WHILE($var = 1)
      //LOGWRITE ("ищем...")
      GETSCREEN
      IF_PICTURE_IN (100,0,$_xmax-35,$_ymax, "favicon.bmp") // 16777215
         LOGWRITE ("Найдено на странице ", $page)
         HINTPOPUP(STRCONCAT("страница ", $page), "Найдено!")
         LOGSHOW (1,$_xmax-335,28) // отображение окна лога
         WNDSIZE(WNDFIND("Clickermann - Лог"),336,260) // изменения размеров окна лога
LCLICK($_return1+50, $_return2+10)

EXECUTE("1.cms")      //запуск лазилки
WAITMS(1000)
  LCLICK(564 , 407)
         HALT

      END_IF
     
      // мотаем ниже
      $hash1 = PXLCRC (220,180,230,800)
      WHEELDOWN(6)
      WAITMS(100)
      GETSCREEN
      $hash2 = PXLCRC (220,180,230,800)
     
      IF($hash1 = $hash2)
         close() // закрываем вкладку
         $var = 0
      END_IF
      WAITMS(500)
   END_CYC
END_CYC
LOGWRITE ("Ничего не найдено. Пройдено ", $page_all, " страниц")
HINTPOPUP(STRCONCAT("Не найдено на ", $page_all, " стр."), "Не найдено")
LOGSHOW (1,$_xmax-335,28) // отображение окна лога
WNDSIZE(WNDFIND("Clickermann - Лог"),336,260) // изменения размеров окна лога
HALT
« Last Edit: August 14, 2014, 10:33:53 AM by Vint »
Лучший друг - это придурок, с которым никогда не бывает скучно. Если у вас есть такой друг - цените его. Ведь жизнь без сумасшедших друзей - это не жизнь.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #7 on: August 14, 2014, 10:40:24 AM »
Ты так и будешь по чайной ложке выдавать?
Сначала был вопрос просто "... продолжал искать пока не найдет".
Естественно я делал с учётом задачи и на этом остановил.
Потом добавилось "открыть найденное".
Теперь "второй скрипт". Что делает этот второй скрипт? Что нужно делать после его завершения? Остановить?... Возвращаться к поиску и искать новый запрос?... Возвращаться к поиску и искать другой сайт?...
Всё это нужно знать сразу, чтобы не переписывать по 100 раз.

Ты озвучь всю задачу от начала и до конца. По частям нужно тому, кто сам доделывает. Ты же не доделываешь судя по второму вопросу..
« Last Edit: August 14, 2014, 10:48:31 AM by Vint »


Enot

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #8 on: August 14, 2014, 12:05:08 PM »
я хочу написать бот который будет поднимать сайт в поисковой системе. я уже сделал что кликерман менял IP адреса после этого он
находит нужный сайт и заходит в него. теперь вы мне команду написали хочу чтобы как он сайт найдет и зайдет в него он включал другой кликерман а там у него будет задача другая. как сделать чтобы кликерман закрыл эту задачу ( после того как  он найдет сайт ) и включал другой скрипт у которой будет другая задача
Лучший друг - это придурок, с которым никогда не бывает скучно. Если у вас есть такой друг - цените его. Ведь жизнь без сумасшедших друзей - это не жизнь.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #9 on: August 14, 2014, 12:52:26 PM »
А зачем такие сложности? Почему нельзя продолжить в этом же скрипте?
Можно для удобства всё выделить в подпрограммы "поиск", "обработка".

Когда отработает второй скрипт что будет делать?


Enot

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #10 on: August 14, 2014, 12:56:34 PM »

Когда отработает второй скрипт что будет делать?

*****
вернется на самый первый скрипт где  произойдет смена айпи адреса. и программа все сначала будет искать сайт
Лучший друг - это придурок, с которым никогда не бывает скучно. Если у вас есть такой друг - цените его. Ведь жизнь без сумасшедших друзей - это не жизнь.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #11 on: August 14, 2014, 01:16:10 PM »
Code: (clickermann) [Select]
#name "favicon search in Yandex"
// Author: Vint
// Version: 1.1 (14.08.2014)

$zapros = "лунная афёра"
$page_all = 10   // просматривать страниц
$brawser = "firefox.exe"


//==============================================================================
SUB(close) //===================================================================
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYDOWN (#W)
   WAITMS (50)
   KEYUP (#W)
   KEYUP (#CTRL)
   WAITMS(500)
END_SUB

//==============================================================================
SUB(IP) //======================================================================
   // здесь скрипт смены IP
END_SUB

//==============================================================================
SUB(actions) //=================================================================
   // здесь скрипт действий на найденных страницах
END_SUB

//==============================================================================
SUB(find) //== Поиск в выдаче яндекса ==========================================
   $hwnd = WNDFIND("Mozilla Firefox")
   IF($hwnd > 0)
      EXECUTE("firefox.exe", "yandex.ru")      //запуск Мозилы
      WAIT(3)
   END_IF
   
   $find = 0
   $zapros = STRREPLACE ($zapros, " ", "%20")   // лечение пробелов
   FOR($page=0, $page<$page_all)
      $param = STRCONCAT("yandex.ru/yandsearch?lr=213&text=", $zapros, "&p=", $page)
      LOGWRITE ("Страница ", $page)
      //LOGWRITE ($param)
      EXECUTE($brawser, $param)   //открываем страницу
      WAITMS(1500)
      LCLICK(5,500)
      WAITMS(50)
     
      $var = 1
      WHILE($var = 1)
         //LOGWRITE ("ищем...")
         GETSCREEN
         IF_PICTURE_IN (100,0,$_xmax-35,$_ymax, "favicon.bmp") // 16777215
            LOGWRITE ("Найдено на странице ", $page)
            HINTPOPUP(STRCONCAT("страница ", $page), "Найдено!")
            //LOGSHOW (1,$_xmax-335,28) // отображение окна лога
            //WNDSIZE(WNDFIND("Clickermann - Лог"),336,260) // изменения размеров окна лога
            $run_X = $_return1+50
            $run_Y = $_return2+10
            $find = 1
            $var = 0
            $page = $page_all
            //HALT
         END_IF
         
         IF($var = 1)
            // мотаем ниже
            $hash1 = PXLCRC (220,180,230,800)
            WHEELDOWN(6)
            WAITMS(100)
            GETSCREEN
            $hash2 = PXLCRC (220,180,230,800)
           
            IF($hash1 = $hash2)
               close() // закрываем вкладку
               $var = 0
            END_IF
            WAITMS(500)
         END_IF
      END_CYC
   END_CYC
END_SUB

//==============================================================================


//  --- START ---

LOGCLEAR
WHILE(1) // основной цикл скрипта
   IP() // меняем IP
   find() // ищем сайт
   
   IF($find = 1) // нашли
      LCLICK($run_X, $run_Y) // открываем сайт
      WAITMS(2000)
      actions() // обрабатываем
   ELSE //не нашли
      LOGWRITE ("Ничего не найдено. Пройдено ", $page_all, " страниц")
      HINTPOPUP(STRCONCAT("Не найдено на ", $page_all, " стр."), "Не найдено")
      HALT
   END_IF
END_CYC

HALT
« Last Edit: August 14, 2014, 01:20:23 PM by Vint »


Enot

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #12 on: August 14, 2014, 01:18:57 PM »
Спасибо Vint) огромное спасибо) как сайт раскручу буду должен))
Лучший друг - это придурок, с которым никогда не бывает скучно. Если у вас есть такой друг - цените его. Ведь жизнь без сумасшедших друзей - это не жизнь.

Enot

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #13 on: August 14, 2014, 01:25:43 PM »
а можно узнать какой это язык программирование чтобы книшку почитать ?
Лучший друг - это придурок, с которым никогда не бывает скучно. Если у вас есть такой друг - цените его. Ведь жизнь без сумасшедших друзей - это не жизнь.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Поиск сайта по выдаче яндекса
« Reply #14 on: August 14, 2014, 01:44:04 PM »
а можно узнать какой это язык программирование чтобы книшку почитать ?
Местный, авторский Johnny.
Си подобно-неподобный.
Основные конструкции везде почти одинаковые, так что здесь без разницы.

Открой справку и читай подряд. Потом пиши скрипт и читай не подряд.
« Last Edit: August 14, 2014, 01:55:31 PM by Vint »