OLD MaxXBot Forum

Объявление

Внимание! В связи с истечением срока делегирования домена
maxxbot.ru, новый форум теперь находится по адресу:

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » OLD MaxXBot Forum » Команды » Прошу сделать Помощник Кроссвордиста


Прошу сделать Помощник Кроссвордиста

Сообщений 1 страница 5 из 5

1

Прошу сделать Помощник Кроссвордиста
Можно воспользоваться к примеру сайтом http://cros.h1.ru
Думаю вполне впишется в формат команд ICQ-бота и будет полезен.

а варианты ответа можно выводить через запятую а не в стобец. Думаю через запятую удобнее будет читать.

Отредактировано Yuri (2009-10-21 06:34:31)

0

2

Пробую сделать через WIKI+

добавил командное слово, десятое по порядку получилось
word=вики;lurk;abs;znan;dict;quot;orfo;nam;yan;cros

В other дописал строку
10=http://cros.h1.ru/cgi-bin/anw1.pl?#

в [otherExpr] добавил строку
10=</h1><br><b>(.*?)</b><br><br><br><br><center>

эту строку я получил из ответа браузера по адресу http://cros.h1.ru/cgi-bin/anw1.pl? А.Б.З
там есть такой фразмент:
href="/cgi-bin/anw1.pl?С......Ь.">С......Ь.</a>&nbsp;&nbsp;&nbsp; <a href="/cgi-bin/anw1.pl?.Ц....Ы.">.Ц....Ы.</a>&nbsp;&nbsp;&nbsp; <br><h1>А.Б.З</h1><br><b>АРБУЗ</b><br><br><br><br><center>Вы можете добавить этот сайт в избранное.<br>
<script><!--

(.*?)  - это как я понял разделяющий элемент между символами до нужного нам текста и после него.

Сохраняем, перезапускаем даже бота полностью. вводим команду боту: cros А.Б.З
в ответ тишина... что не так сделал?
-----
... посмотрел в логе бота - там бот все же пытается вывести какой то текст, но не тот, что нужно.
прошу прокоментировать что означают
7=<div\s+style="padding-left:50px">(.*?)<br></div>
8=<div\s+style="padding-left:50px">(.*?)<br>&
9=<div\s+class="result-txt">(.*?)<div\s+class="b-pager">
-----
Посмотрел на ответ бота, получается что он запрашивает http://cros.h1.ru/cgi-bin/anw1.pl?%E0.%E1.%E7 а не
http://cros.h1.ru/cgi-bin/anw1.pl? А.Б.З     
Как это победить?

Отредактировано Yuri (2009-10-21 10:26:03)

0

3

Yuri написал(а):

Посмотрел на ответ бота, получается что он запрашивает http://cros.h1.ru/cgi-bin/anw1.pl?%E0.%E1.%E7 а не http://cros.h1.ru/cgi-bin/anw1.pl? А.Б.З     Как это победить?

совершенно очевидно, что плагин (как положено) перегоняет запрос из кириллицы в url-кодировку. плохо и неграмотно построен сайт, раз не понимает эту кодировку. решить проблему можно 2мя способами:
1. отказаться от данного ресурса и найти другой
2. дописать плагин wiki или написать новый.

0

4

Второй вариант мне нравится больше, т.к. позволит дать больше возможностей для реализации идей :-)

По первому варианту идём: меняем сайт. Выбрал
http://www.krossw.ru/cgi-bin/slv_fnd2.p … E0.%E1.%E7
Запросы такого типа успешно выполняются.

Теперь думаю как бы составить выражение для отсеивания лишнего текста?
----
Подумал над выражением, проанализировал код HTML странички
=====================================
<font color=#000000 size=2>(5) <font color=red>АРБАЗ</font> - массивное бревенчатое сооружение в богатой карачаевской усадьбе, объединяющее несколько жилых домов и хлевов, с выходами внутрь многоугольного замкнутого двора под массивной земляной крышей
<hr>(5) <font color=red>АРБУЗ</font> - астраханский деликатес растительного происхождения
<hr>(5) <font color=red>АРБУЗ</font> - бахчевое растение
<hr>(5) <font color=red>АРБУЗ</font> - зеленый пузырь сахарной воды
<hr>(5) <font color=red>АРБУЗ</font> - на его корке поскользнулся Семен Семеныч из фильма "Бриллиантовая рука" (зг)
<hr>(5) <font color=red>АРБУЗ</font> - самая большая ягода в мире
<hr>(5) <font color=red>АРБУЗ</font> - что ел Гуров после близости с дамой с собачкой?
<hr></font></td><td valign=top width=12%><font size=1>
=====================================

, получилось вот такое выражение:
10=<font\s+color=red>(.*?)</font>

Ну все равно не работает, не обрезает то, что надо

Отредактировано Yuri (2009-10-21 20:57:28)

0

5

О, да, у меня получилось!!! 

кому надо - можете тоже добавить себе в бота "помощника кроссвордиста"

добавляем команду cros через точку запятую в word=

[other]
10=http://www.krossw.ru/cgi-bin/slv_fnd2.pl?zprw=#

[otherExpr]
10=<td\s+bgcolor=#FFFFFF>(.*)<hr></font></td>

Команды будут вида:
cros слово
где слово может содержать точки вместо неизвестных нам букв
пример:
cros А.Б.З  - выведет вариант-слово АРБУЗ  и АРБАЗ

ПРОВЕРИТЬ МОЖНО ЗДЕСЬ: ICQ 39-333-6666

Отредактировано Yuri (2009-10-22 07:45:35)

0


Вы здесь » OLD MaxXBot Forum » Команды » Прошу сделать Помощник Кроссвордиста