Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

3 876 Posts in 868 Topics- by 723 Members - Latest Member: tablarock

23 May 2012, 06:33
Select Language English | Russian ru | German
Main PageIRC Client KVIrc forumRussian talksСкриптингВопросы по работе отдельных функций и командвопрос по гуглеру
Pages: [1]
Print
Author Topic: вопрос по гуглеру  (Read 433 times)
0 Members and 2 Guests are viewing this topic.
GENDOS
Новичок
*

Репутация: 1
Posts: 4


View Profile
« on: 7 December 2011, 20:09 »

Здравствуйте, уважаемые.
Хочу написать так называемый «гуглер».  Т.е., если в окне квирка написать, например, «!г приватизация», то в ответ появится определение этого слова из гугла.

Реализовать планирую так же, как и реализовал погодный скрипт:
1) Через функцию «http.asyncGet» скачиваю нужную web-страницу;
2) Через функцию «$file.readlines» получаю содержимое страницы;
3) Через функцию «for» перебираю каждый символ полученного текста и нахожу в тексте нужные теги. (наверняка в KVS есть функция, которая сразу находит нужное слово в тексте, но я такой не нашёл);
4) Текст, который находится между найденных тегов вывожу в окно чата.

Для вывода погоды такая схема работает нормально, но вот с «гуглером» возникла одна проблема:

Когда я пытаюсь скачать страницу:

http.asyncGet (http://google.com.ru/search?q=приватизация, D:\\a.txt)

то возникает ошибка «Transfer failed: HTTP/1.1 302 Found» и страница не скачивается.

Вернее, это не ошибка, а редирект на другой URL.
В Дэлфи такая проблема решается командой: HandleRedirect:=true

Может быть кто-нибудь знает, как в KVS справиться с этим редиректом?
Заранее спасибо за ответ.
Logged
kns
Постоялец
***

Репутация: 38
Gender: Male
Posts: 222


View Profile WWW
« Reply #1 on: 8 December 2011, 02:12 »

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

Куда гугл пытается перенаправить?


btw у гугла есть устаревающее бесплатное API и вроде бы даже какое-то новое, но с какими-то ограничениями. Еще есть мобильная версия. Это я к тому, что основной дизайн он очень часто изменяет, каждый раз придется корректировать скрипт.
Logged
alexzulu
Постоялец
***

Репутация: 29
Posts: 181



View Profile Email
« Reply #2 on: 17 December 2011, 11:15 »

кстати. если вы хотите определять значение только слов то вам надо в википедию. гугл в этом случае как выстрел по воробьям из пушки.
Logged

сеть freenode, каналы #kvirc и #kvirc-ru
GENDOS
Новичок
*

Репутация: 1
Posts: 4


View Profile
« Reply #3 on: 23 December 2011, 20:31 »

вам надо в википедию.
Правду говорят - самое гениальное решение является самым простым. Пока я думал, как обработать гадкий редирект, оказалось, что можно использовать википедию, в которой редирект не возникает Cheesy


Куда гугл пытается перенаправить?
А перенаправление выглядит так: Я пытаюсь загрузить страницу, например, такую: http://google.com.ru/search?q=приватизация
А гугл отправляет меня на страницу с результатом, адрес которой выглядит примерно так: http://www.google.ru/search?q=%D0%BF%D1%80%D0%B8%D0%B2%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F
И yandex делает такое же перенаправление. А вот википедия этим не болеет.

Огромное спасибо за помощь Smiley
Logged
kns
Постоялец
***

Репутация: 38
Gender: Male
Posts: 222


View Profile WWW
« Reply #4 on: 24 December 2011, 03:44 »

А перенаправление выглядит так
А. Ну, можно же предварительно урленкодить текст. Где-то тут на форуме была самодельная соответствующая процедурка.
Logged
kns
Постоялец
***

Репутация: 38
Gender: Male
Posts: 222


View Profile WWW
« Reply #5 on: 24 December 2011, 03:46 »

Замечательно. В Квирке есть $str.urlencode() встроенная.
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic