Парсер Google

Сбор и анализ всего что можно собрать из сети.
Munhgauzen
Сообщения: 38
Зарегистрирован: 03 мар 2013, 18:42

Парсер Google

Сообщение Munhgauzen » 21 июн 2018, 15:40

Друзья! Просьба помочь )
Ситуация такая, что купив году в 2013 хуман, лишь иногда пользовался им да и позабыл какие функции использовать (Human Emulator Advanced 4.9.39) для простого скрипта с функционалом - web серфера по поисковой выдаче и кликаньи мышкой по ссылкам с заданным ключевым словом либо фразой из этой выдачи. Помню что за основу брал с x-scripts парсер гугл выдачи и затем уже впихнул небольшой функционал по выкусыванию ссылок и запихиванию их в массив затем шел перебор по нужному ключу и уже по выбранным ссылкам производился клик мышью. Может поможет кто(мю у кого есть) Спасибо заранее.

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: Парсер Google

Сообщение Support » 21 июн 2018, 21:29

Munhgauzen писал(а):
21 июн 2018, 15:40
Друзья! Просьба помочь )
Ситуация такая, что купив году в 2013 хуман, лишь иногда пользовался им да и позабыл какие функции использовать (Human Emulator Advanced 4.9.39) для простого скрипта с функционалом - web серфера по поисковой выдаче и кликаньи мышкой по ссылкам с заданным ключевым словом либо фразой из этой выдачи. Помню что за основу брал с x-scripts парсер гугл выдачи и затем уже впихнул небольшой функционал по выкусыванию ссылок и запихиванию их в массив затем шел перебор по нужному ключу и уже по выбранным ссылкам производился клик мышью. Может поможет кто(мю у кого есть) Спасибо заранее.
viewtopic.php?f=57&t=1323

Munhgauzen
Сообщения: 38
Зарегистрирован: 03 мар 2013, 18:42

Re: Парсер Google

Сообщение Munhgauzen » 25 июн 2018, 12:32

спасибо конечно за ответ) Но у меня то версия human - Human Emulator Advanced 4.9.3 и на ней также данный скрипт не работает.

Munhgauzen
Сообщения: 38
Зарегистрирован: 03 мар 2013, 18:42

Re: Парсер Google

Сообщение Munhgauzen » 25 июн 2018, 14:55

думаю как раз скорее всего не работает функция function next_page(&$crnt_page)
у кого есть рабочая функция для моей версии поделитесь пожалуйста. А то даже как ее написать непонятно.

Munhgauzen
Сообщения: 38
Зарегистрирован: 03 мар 2013, 18:42

Re: Парсер Google

Сообщение Munhgauzen » 25 июн 2018, 15:29

начал сам корректировоть скрипт парсера сам и вот сразу вопрос
Начало ссылки <cite class="iUh30 bc"> конец `&rsaquo;
Вот написал строку но почему то обрабатывается неверно. Может кто подскажет что не так то?
get_body_inter_prefix_all(`<cite class="iUh30 bc">`,`&rsaquo;`);

Аватара пользователя
xscripts
Сообщения: 80
Зарегистрирован: 24 янв 2012, 12:48
Контактная информация:

Re: Парсер Google

Сообщение xscripts » 25 июн 2018, 15:44

Munhgauzen писал(а):
25 июн 2018, 15:29
начал сам корректировоть скрипт парсера сам и вот сразу вопрос
Начало ссылки <cite class="iUh30 bc"> конец `&rsaquo;
Вот написал строку но почему то обрабатывается неверно. Может кто подскажет что не так то?
get_body_inter_prefix_all(`<cite class="iUh30 bc">`,`&rsaquo;`);
Там надо проверять потому что вот эти вещи <cite class="iUh30 bc"> скорее всего постоянно меняются. Попробуйте просто вот так get_body_inter_prefix_all(`<cite class=`,`&rsaquo;`);
http://x-scripts.com/

Код: Выделить всё

<?php
$xhe_host ="127.0.0.1:7010";

require("../Templates/xweb_human_emulator.php");

$browser->navigate("http://x-scripts.com");

$app->quit();?>

Munhgauzen
Сообщения: 38
Зарегистрирован: 03 мар 2013, 18:42

Re: Парсер Google

Сообщение Munhgauzen » 25 июн 2018, 15:52

Вот так вот работает но парсит с куском мусора спереди (как то можно отрезать этот мусор но я забыл уже как)
$sites=$webpage->get_body_inter_prefix_all("<cite class=","</cite>");

ссылка на сайт : "iUh30 bc">https://
ссылка на сайт : "iUh30 bc">https://
ссылка на сайт : "iUh30 bc">https://
ссылка на сайт : "iUh30 bc">https://

да и все равно не работает функция перехода на следующую страницу.

Аватара пользователя
xscripts
Сообщения: 80
Зарегистрирован: 24 янв 2012, 12:48
Контактная информация:

Re: Парсер Google

Сообщение xscripts » 25 июн 2018, 16:06

Вот скрипт
parser_google.zip
(2.53 КБ) 87 скачиваний
работает в 4.9.38
http://x-scripts.com/

Код: Выделить всё

<?php
$xhe_host ="127.0.0.1:7010";

require("../Templates/xweb_human_emulator.php");

$browser->navigate("http://x-scripts.com");

$app->quit();?>

Аватара пользователя
xscripts
Сообщения: 80
Зарегистрирован: 24 янв 2012, 12:48
Контактная информация:

Re: Парсер Google

Сообщение xscripts » 25 июн 2018, 16:08

Разбор страницы выполнен так:
   while(true)
   {
		 // получим все ссылки на сайты заключённые в тэгах <cite>
		 $sites=$webpage->get_body_inter_prefix_all("<cite ","cite>");
		 $sites=explode("<br>",$sites);
	    // пройдёмся по всем полученным ссылкам
		 for($i=0;$i<count($sites);$i++)
		 {        
			// переходим на сайт
			$site=str_replace("<b>","",trim($sites[$i]));
			$site=str_replace("</b>","",$site);

         $site=get_string($site, ">","</");
			if($site=="")
			  continue;
			// вывод в панель отладки
			debug_mess("ссылка на сайт : ".$site);
	
			/* ***
				тут что то делаем с полученными из гугль сайтами 
			* */
		 }

		 // не перешли на следующую страницу 
		if(!next_page($crnt_page)) 
		  break;
  }


а функция next_page

// следующая страница
function next_page(&$crnt_page)
{
      global $anchor, $browser, $app,$cnt_pages;
      // количество поисковых страниц
      $crnt_page=$crnt_page+1;

      if($cnt_pages!=-1)
      {
            // останавливаем скрипт
            if($crnt_page>$cnt_pages)
            { 
              debug_mess("обработали все заданные страницы ".($crnt_page-1));
              return false;
            }
      }
      // перейдём на следующую страницу с результатами
$bclick = $anchor->click_by_inner_text("
".$crnt_page,true);

      if($bclick===false)
      {
           debug_mess("обработали все страницы ".($crnt_page-1));
           return false;
      }

      debug_mess("обработали страницу ".($crnt_page-1));
      return true;
}

http://x-scripts.com/

Код: Выделить всё

<?php
$xhe_host ="127.0.0.1:7010";

require("../Templates/xweb_human_emulator.php");

$browser->navigate("http://x-scripts.com");

$app->quit();?>

Munhgauzen
Сообщения: 38
Зарегистрирован: 03 мар 2013, 18:42

Re: Парсер Google

Сообщение Munhgauzen » 25 июн 2018, 16:13

спасибо этот уже работает.

Аватара пользователя
xscripts
Сообщения: 80
Зарегистрирован: 24 янв 2012, 12:48
Контактная информация:

Re: Парсер Google

Сообщение xscripts » 25 июн 2018, 16:16

Munhgauzen писал(а):
25 июн 2018, 16:13
спасибо этот уже работает.
Будут вопросы пишите подскажем))
http://x-scripts.com/

Код: Выделить всё

<?php
$xhe_host ="127.0.0.1:7010";

require("../Templates/xweb_human_emulator.php");

$browser->navigate("http://x-scripts.com");

$app->quit();?>

Munhgauzen
Сообщения: 38
Зарегистрирован: 03 мар 2013, 18:42

Re: Парсер Google

Сообщение Munhgauzen » 25 июн 2018, 16:26

да у меня вопрос все тот же. Забыл уже всё по хуман-у что успел понять.
Мне нужно из этой выдачи гугла кликнуть(перейти) по ссылке с определенным текстом в url (я делал чтоб в новое окно переход был)
Простой накрутчик траффика получается.
Например нашел url с human.info и по нему перешел. Примитивный серфинг по сайту я то помню как делать.

Аватара пользователя
xscripts
Сообщения: 80
Зарегистрирован: 24 янв 2012, 12:48
Контактная информация:

Re: Парсер Google

Сообщение xscripts » 25 июн 2018, 16:58

Munhgauzen писал(а):
25 июн 2018, 16:26
да у меня вопрос все тот же. Забыл уже всё по хуман-у что успел понять.
Мне нужно из этой выдачи гугла кликнуть(перейти) по ссылке с определенным текстом в url (я делал чтоб в новое окно переход был)
Простой накрутчик траффика получается.
Например нашел url с human.info и по нему перешел. Примитивный серфинг по сайту я то помню как делать.
Для клика по ссылке из выдачи можно делать так:
 $anchor->click_by_href($site, false);

если нужно по тексту определённому то:

$anchor->click_by_inner_text("Human Emulator",false);

Для того что бы открывать в новом окне. Моджно настроить сам Гугл таким образом, что бы он по клику открывал в новом окне. Можно добавить атрибут в ссылку по тому же тексту например http://humanemulator.net/objects/DOM/a_ ... r_text.php или http://humanemulator.net/objects/DOM/a_ ... ribute.php. или же получить ссылку как мы и делаем, открыть ещё одно окно браузера и уже в нём перейти по полученному url. Это делается с помощью функции http://humanemulator.net/objects/WEB/br ... rowser.php. После её вызова все команды в скрипте будут выполняться в указанной закладке браузера.
http://x-scripts.com/

Код: Выделить всё

<?php
$xhe_host ="127.0.0.1:7010";

require("../Templates/xweb_human_emulator.php");

$browser->navigate("http://x-scripts.com");

$app->quit();?>

Munhgauzen
Сообщения: 38
Зарегистрирован: 03 мар 2013, 18:42

Re: Парсер Google

Сообщение Munhgauzen » 25 июн 2018, 17:04

ок спасибо, с этим: $anchor->click_by_inner_text("Human Emulator",false);
я уже разобрался, но нужно сделать условие:

if $site ="Human Emulator"( как то так вот тут не помню - не знаю как правильно написать условие)
{
переход и серф по сайту
}
else
продолжаем лазить по выдаче

Аватара пользователя
xscripts
Сообщения: 80
Зарегистрирован: 24 янв 2012, 12:48
Контактная информация:

Re: Парсер Google

Сообщение xscripts » 25 июн 2018, 17:49

Munhgauzen писал(а):
25 июн 2018, 17:04
ок спасибо, с этим: $anchor->click_by_inner_text("Human Emulator",false);
я уже разобрался, но нужно сделать условие:

if $site ="Human Emulator"( как то так вот тут не помню - не знаю как правильно написать условие)
{
переход и серф по сайту
}
else
продолжаем лазить по выдаче
if($site =="Human Emulator") 
{
  // переходим 
}
else 
{
   // идём дальше
}
http://x-scripts.com/

Код: Выделить всё

<?php
$xhe_host ="127.0.0.1:7010";

require("../Templates/xweb_human_emulator.php");

$browser->navigate("http://x-scripts.com");

$app->quit();?>

Ответить