Перейти к содержимому


GOOGLE


Сообщений в теме: 34

#1 VaLenOK007

    Новичок

  • Пользователи
  • Pip
  • 19 сообщений
  • ГородСосенский

Отправлено 20 Июль 2009 - 17:05

Люди появилась идея честно стыренная со Джаббера.... А что если написать скрипт который будет искать чтото в нете и выводить к примеру на это пять ссылок или построчный текст с ссылкой на... ну на ту же википедию??? Я с созданием скриптов и явой не дружу никак... просто хотелось бы... комманда к примеру !гугл Вася пупкин и оно выводит о Вася Пупкин инфу

#2 Arkadik007

    Специалист

  • Пользователи
  • PipPipPipPip
  • 372 сообщений
  • ГородКраснодар

Отправлено 20 Июль 2009 - 17:17

ДА супер идея кончено! НУ мн екажеться это вообше не скрипт будет а кое что другое !

#3 VaLenOK007

    Новичок

  • Пользователи
  • Pip
  • 19 сообщений
  • ГородСосенский

Отправлено 20 Июль 2009 - 17:25

2Arkadik007
Хм, чтож тогда? Я вообщет обдумал тему насчёт RSS тут мутили...
Вот еси его обработать... но как... :oops:

#4 Arkadik007

    Специалист

  • Пользователи
  • PipPipPipPip
  • 372 сообщений
  • ГородКраснодар

Отправлено 20 Июль 2009 - 17:32

А как ты вынесеш поисковую систему в РСС а?

#5 VaLenOK007

    Новичок

  • Пользователи
  • Pip
  • 19 сообщений
  • ГородСосенский

Отправлено 20 Июль 2009 - 17:42

Ну я же сказал не дружу со скриптами... вот и ищу чела кто это сможет намутить

#6 pankrat

    Профи

  • Модераторы
  • 463 сообщений
  • ГородРоссия - Курск

Отправлено 20 Июль 2009 - 17:48

RSS тут вообще ни к месту.
Как всем известно запрос на поиск состоит из: Основная ссылка поисковой системы + наш запрос.
Так вот для реализации этой идеи нужно к гуглю прилепить текст нашего запроса, почле чего вернуть юзеру ответ поисковой системы.
Ниже приведён пример на пыхе
					else if (preg_match("#^.search#", $msg_text))
					{
						preg_match("#\s+(.*)#", $msg_text, $msg);
						if(empty($msg[0]))
						{
							$query 		= mysql_query("SELECT * FROM `rase` WHERE `description`='search_error'");
							$row		= mysql_fetch_array($query);
							$send 		= $row['tl'];
						}
						else
						{
							$query 		= mysql_query("SELECT * FROM `rase` WHERE `description`='wait'");
							$row		= mysql_fetch_array($query);
						 	sendMSG($sendto, $row['tl']);
							$search = file_get_contents("http://forum.antichat.ru/search.php?do=process&query=".$msg[1]);

							if(preg_match_all("#(.*)\r\n\t\t\t#i", $search, $out, PREG_SET_ORDER))
							{
							 	preg_match("#Ключевые слова: (.*)#isU", $search, $kls);
								$send = "===========\r\nПоиск по: ".$kls[1]."\r\n===========\r\n";
								$i = 0;
								foreach($out as $row)
								{
								 	if(++$i > 10)
								 		break;
								 	$row[1] = str_replace("-".$msg[1], "", $row[1]);
								 	$send .= $row[2]."\r\nhttp://forum.antichat.ru/".$row[1].".html\r\n======================\r\n";
								}

							} else {
								$query		= mysql_query("SELECT * FROM `rase` WHERE `description`='search_notfound'");
								$row 		= mysql_fetch_array($query);
								$row['tl']	= str_replace("\$request", $msg[1], $row['tl']);
								$send 		= stripslashes($row['tl']);
							}
						}

					}


#7 VaLenOK007

    Новичок

  • Пользователи
  • Pip
  • 19 сообщений
  • ГородСосенский

Отправлено 20 Июль 2009 - 18:02

2pankrat
хм, а вот с пхп я както не подумал... в целом... ой да у меня мозгов не хватит! :) Жаль конечно что через обычные крипты никак...

#8 masterzx

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 738 сообщений
  • ГородБарнаул

Отправлено 20 Июль 2009 - 18:09

VaLenOK007 сказал:

2pankrat
хм, а вот с пхп я както не подумал... в целом... ой да у меня мозгов не хватит! :) Жаль конечно что через обычные крипты никак...
Можно... но сложно ;)
Только вопрос, что со ссылками делать будешь? их тоже потом обрабатывать?
Или лучше сразу поиск по википендии организовать? или ещё по какому ресурсу...

#9 VaLenOK007

    Новичок

  • Пользователи
  • Pip
  • 19 сообщений
  • ГородСосенский

Отправлено 20 Июль 2009 - 18:12

2masterzx
я об этом думал... можно категории поставить, к примеру !поиск Йожик ЖЖ(живой журнал) !поиск Йожик гугл, ну и в том же духе...

#10 pankrat

    Профи

  • Модераторы
  • 463 сообщений
  • ГородРоссия - Курск

Отправлено 20 Июль 2009 - 18:17

Ну насчёт поиска по разным ресурсам я б не сказал что сложно, разумеется при условии что будет реализована подобная вещь хотя бы на примере одного ресурса.

#11 arhangel_ess

    Пользователь

  • Пользователи
  • PipPip
  • 59 сообщений

Отправлено 20 Июль 2009 - 18:19

я имею в виду что все равно количество ресурсов ограничено . . . . .

#12 VaLenOK007

    Новичок

  • Пользователи
  • Pip
  • 19 сообщений
  • ГородСосенский

Отправлено 20 Июль 2009 - 18:19

ееех, ну не поленитесь хотяб дать пример скрипта чтоб по ресурсам

#13 p0is0n

    Пользователь

  • Пользователи
  • PipPip
  • 85 сообщений

Отправлено 20 Июль 2009 - 18:49

Горю уже увидеть как это будет парситься:))) Во сколько раз будет жесче, например вот этого viewtopic.php?p=12407#p12407 :)))

#14 pankrat

    Профи

  • Модераторы
  • 463 сообщений
  • ГородРоссия - Курск

Отправлено 20 Июль 2009 - 21:40

Ммм....
С таким обилием идей(как реализованых так и не реализованых), которые не очень то и нужны в чате, давно бы уже стоило подумать о разработке модуля информ бота в jImBot'e.
Написать можно на примере того же анек-бота, скриптов на форуме полным полно которые так же можно брать за основу.

+ Вашим юзерам было бы намного удобнее использовать такие вещи как погода, гороскоп, программа ТВ и прочие вещи реализованные с помощью RSS на отдельном номере
+ Вам было бы намного удобнее управлять всеми модулями вашего бота из одной админки.
+ Функций можно было бы делать неограниченно(в пределах ресурсов вашего сервера разумеется)
+ Можно было бы вести отдельную базу юзеров, отдельную статистику.
-----
P.S.: Но это всего лишь мои мысли и для этого нужно приложить усилия всем.
А на примере той же викторины видно что работать над чем то более серьёзным чем просто скрипт коллективом тут мало кто хочет.
Но опять же отмечу, это лишь моё мнение.

#15 arhangel_ess

    Пользователь

  • Пользователи
  • PipPip
  • 59 сообщений

Отправлено 20 Июль 2009 - 22:19

каким образам отправить запрос в тот же гугл . . . .???? можно реализовать на подобие анек бота вот переводчиик http://translate.goo...nslate_t#ru|en| до меня не дойдет как туда текст отправить

#16 pankrat

    Профи

  • Модераторы
  • 463 сообщений
  • ГородРоссия - Курск

Отправлено 20 Июль 2009 - 22:43

Пример запроса в поисковик гугла:
1)Запрашиваем jimbot
2) Берём ссылку
http://www.google.ru/search?q=
3) Добавляем запрашиваемое слово/текст
http://www.google.ru/search?q=jimbot
4) Получаем ответ поисковой системы

#17 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 20 Июль 2009 - 23:25

Вот вам простенький скриптик! Тоесть набросок! Уберайте лишнее с помощью ss[i] = ss[i].replace("***",""); , что бы выводились тока сылки и будет счастье!!! :D
/**
* google
*/

import ru.jimbot.modules.http.HttpConnection;
import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;



//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!google", new Cmd("!google","$c",39,name));                                                                          
   out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;                                        

try{
   //парсим
   Vector v = cmd.getParser().parseArgs(msg);
   String google = (String)v.get(0);
   //Прочитаем текст из файла
   String s =  MainProps.getStringFromHTTP("http://www.google.ru/search?q="+google);                 
   //Разбиваем текст на куски, в качестве разделителя будет использовате тег 

   String[] ss = s.split("
");                                                        
   //По очереди отсылаем куски текста юзеру, точнее - помещаем их в очередь
   //исходящих сообщений уина, на котором этот юзер сидит.
   for(int i=0;i
					
					

#18 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 20 Июль 2009 - 23:29

[quote] Саня (22:23:21 20/07/2009)
!google jimbot

Пробный (22:23:23 20/07/2009)
ar{height:22px}.gbh,.gbd{border-top:1px solid #c9d7f1;font-size:1px}.gbh{height:0;position:absolute;top:24px;width:100%}#guser{padding-bottom:7px !important;text-align:right}#gbar,#guser{font-size:13px;padding-top:1px !important}@media all{.gb1,.gb3{height:22px;margin-right:.5em;vertical-align:top}#gbar{float:left}}a.gb1,a.gb3{color00c !important}.gb3{text-decoration:none}a.gb1,a.gb2,a.gb3,.link{color20c!important}.ts{border-collapse:collapse}.ts td{padding:0}.ti,.bl,form,#res h3{display:inl

Пробный (22:23:24 20/07/2009)
ine}.ti{display:inline-table}.fl:link,.gl,.gl a:link{color77c}a:link,.w,#prs a:visited,#prs a:active,.q:active,.q:visited{color20c}.mblink:visited,a:visited{color551a8b}a:active{color:red}.cur{colora90a08;font-weight:bold}.b{font-weight:bold}.j{width:42em;font-size:82%}.s{max-width:42em}.sl{font-size:82%}#gb{text-align:right;padding:1px 0 7px;margin:0}.hd{position:absolute;width:1px;height:1px;top:-1000em;overflow:hidden}.f,.m,.c h2,#mbEnd h2{color676767}.a,cite,.cite,.cite:link{color:

Пробный (22:23:25 20/07/2009)
green;font-style:normal}#mbEnd{float:right}h1,ol{margin:0;padding:0}li.g,body,html,.std,.c h2,#mbEnd h2,h1{font-size:small;font-family:arial,sans-serif}.c h2,#mbEnd h2,h1{font-weight:normal}#ssb,.clr{clear:both;margin:0 8px}#nav a,#nav a:visited,.blk a{color000}#nav a{display:block}#nav .b a,#nav .b a:visited{color20c}.ch{cursorointer}h3,.med{font-size:medium;font-weight:normal;padding:0;margin:0}.e{margin:.75em 0}.slk td{padding-left:40px;padding-top:5px;vertical-align:top}.slk div{paddin

Пробный (22:23:25 20/07/2009)
g-left:10px;text-indent:-10px}.fc{margin-top:.5em;padding-left:3em}#mbEnd cite{display:block;text-align:left}#mbEnd p{margin:-.5em 0 0 .5em;text-align:center}#bsf,#ssb,.blk{border-top:1px solid #6b90da;backgroundf0f7f9}#ssb{margin:11px 0}#bsf{border-bottom:1px solid #6b90da}#flp{margin:7px 0}#ssb div{float:left;padding:4px 0 0;padding-left:7px;padding-right:.5em}#prs a,#prs b{margin-right:.6em}#ssb p{text-align:right;white-space:nowrap;margin:.1em 0;padding:.2em}#ssb{margin:0 8px 11px;padding:
Часть сообщения была обрезана...

Пробный (22:23:25 20/07/2009)
Найденно
Настройки
Веб



#19 fraer72

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 1 429 сообщений

Отправлено 20 Июль 2009 - 23:57

Вот набросок на переводчика! Но самого перевода я не увидел тока куча всекой лишней Х*йни! :(
/**
* translate
*/

import ru.jimbot.modules.http.HttpConnection;
import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;



//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!translate", new Cmd("!translate","$c",39,name));                                                                          
   out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;                                        

try{
   //парсим
   Vector v = cmd.getParser().parseArgs(msg);
   String text = (String)v.get(0);
   //Прочитаем текст из файла
   String s =  MainProps.getStringFromHTTP("http://google.com/translate_t?langpair=$lg&text="+text);                 
   //Разбиваем текст на куски, в качестве разделителя будет использовате тег 

   String[] ss = s.split("
");                                                        
   //По очереди отсылаем куски текста юзеру, точнее - помещаем их в очередь
   //исходящих сообщений уина, на котором этот юзер сидит.
   for(int i=0;i
					
					

#20 VaLenOK007

    Новичок

  • Пользователи
  • Pip
  • 19 сообщений
  • ГородСосенский

Отправлено 21 Июль 2009 - 13:29

Короч вот моя почти доработанная версия, не тестил но думаю дописывать кучи и кучи...
/**
* google
*/

import ru.jimbot.modules.http.HttpConnection;
import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;



//Установка скрипта как обработчика команды
if(in.equals("install")){
   cmd.addCommand("!гугл", new Cmd("!google","$c",39,name));                                                                    

 cmd.addAuth("google","бутылочка");        
   out="Ok";
   return;
}

// Проверим полномочия
if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;                                       

try{
   //парсим
   Vector v = cmd.getParser().parseArgs(msg);
   String google = (String)v.get(0);
   //Прочитаем текст из файла
   String s =  MainProps.getStringFromHTTP("http://www.google.ru/search?q="+google);                 
   //Разбиваем текст на куски, в качестве разделителя будет использовате тег 

   String[] ss = s.split("
");                                                       
   //По очереди отсылаем куски текста юзеру, точнее - помещаем их в очередь
   //исходящих сообщений уина, на котором этот юзер сидит.
   for(int i=0;i<ss.length;i++){

// Сюда вписываем то, что нужно убирать при выводе RSS ленты
ss[i] = ss[i].replace("","");
ss[i] = ss[i].replace("xml version","");
ss[i] = ss[i].replace("<?","");
ss[i] = ss[i].replace("=","");
ss[i] = ss[i].replace("</item>","");
ss[i] = ss[i].replace("<title>","");
ss[i] = ss[i].replace("<item>","");
ss[i] = ss[i].replace("</title>","");
ss[i] = ss[i].replace("</item>","");
ss[i] = ss[i].replace("<link>","");
ss[i] = ss[i].replace("<pubDate>","");
ss[i] = ss[i].replace("</link>","");
ss[i] = ss[i].replace("</pubDate>","");
ss[i] = ss[i].replace("<guid>","");
ss[i] = ss[i].replace("</guid>","");
ss[i] = ss[i].replace("<description>","");
ss[i] = ss[i].replace("</description>","");
ss[i] = ss[i].replace("http://google.ru","");
ss[i] = ss[i].replace("</rss>","");
ss[i] = ss[i].replace("prid","");
ss[i] = ss[i].replace("</channe","");
ss[i] = ss[i].replace("l>","");
ss[i] = ss[i].replace(""","");
ss[i] = ss[i].replace("http://google.ru ","");
ss[i] = ss[i].replace("</lastBuildDate>","");
ss[i] = ss[i].replace("<lastBuildDate>","");
ss[i] = ss[i].replace("</image>","");
ss[i] = ss[i].replace("<image>","");
ss[i] = ss[i].replace("memox.ru","");
ss[i] = ss[i].replace("<urhttp://www./img/logo.gif</ur ","");
ss[i] = ss[i].replace("<language>","");
ss[i] = ss[i].replace("</language>","");
ss[i] = ss[i].replace("ru","");
ss[i] = ss[i].replace("http://www./","");
ss[i] = ss[i].replace("<channe","");
ss[i] = ss[i].replace("1.0","");
ss[i] = ss[i].replace("encoding","");
ss[i] = ss[i].replace("windows-1251","");
ss[i] = ss[i].replace("?>","");
ss[i] = ss[i].replace("version","");
ss[i] = ss[i].replace("2.0","");
ss[i] = ss[i].replace("http://www.","");
ss[i] = ss[i].replace("<rss","");
ss[i] = ss[i].replace("xmnls","");
ss[i] = ss[i].replace(":memox","");
ss[i] = ss[i].replace("            ","");

      proc.mq.add(uin,"Найденноn" + ss[i]);     
   }
} catch (Exception ex) {
    ex.printStackTrace();
    proc.mq.add(uin,"Ошибка "+ex.getMessage());
}






Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей