zetter
Март 26, 2010 15:30:15
Приветствую всех. Прочитал недавно на хабре (
http://habrahabr.ru/blogs/PyGTK/67668/) как один товарищ делал аплет для панели Gnome. Аплет-переводчик, использующий для перевода google.translate. Захотелось мне его переделать\доделать\видоизменить.
Столкнулся с проблемой (а скорее недопониманием) - почему так получается. Текст переводиться - с этим все нормально, но при выводе результата появляется мусор, а точнее тэги со страницы гугла. Я думаю что проблема в неправильном использовании вышеописанных библиотек. Как быть? Существует ли в природе какая нибудь “заглушка”, чтобы выводился только результат, и как это реализовать?
http://imglink.ru/show-image.php?id=778100d7e6528cc9533b3556481fa32d
sypper-pit
Март 26, 2010 17:14:13
интересный плагин , только я на сколько помню есть в хроме автопереводчик
zetter
Март 26, 2010 17:17:44
в хроме есть) Просто я озадачился вот этим вот вопросом. Хочу разобраться на конкретном примере. Просто не хватает мозгов\перелопачиной информации, для того чтобы решить вопрос.
Ferroman
Март 26, 2010 21:18:06
Красивым Супом очистить теги.
sypper-pit
Март 26, 2010 22:11:35
Ferroman
хороший вариант или же попробовать использовать собственные регулярности…(re)
zetter
Март 27, 2010 08:45:18
Ferroman
Красивым Супом очистить теги.
А я извеняюсь - “красивый суп” - это что?
Я понимаю, что вопрос конечно немного не корректный - но можно как то на примере увидеть как это делается?
Ferroman
Март 27, 2010 10:12:44
zetter
Март 27, 2010 10:48:04
спасибо огромное! (пошел читать\пробовать)
zetter
Март 30, 2010 10:15:49
почитал, попробовал - чегото я походу не допонял.
#Основная функция для перевода текста.
def translate(text):
source_lang, dest_lang=determine_languages(text)
params={“ie”:“utf-8”, “text”:text,
“sl”:source_lang, “tl”:dest_lang}
params=urllib.urlencode(params)
headers={“Content-Length”:“%d” % len(params)}
connection=httplib.HTTPConnection(“translate.google.ru”)
connection.request(“POST”, “/translate_t”, params, headers)
response=connection.getresponse()
answer=response.read()
index=answer.find(“id=result_box”)
if index!=-1:
index+=24
после этого, как я понимаю - нужно вставлять BeautifulSoup???
или где?
Ferroman
Март 30, 2010 16:40:11
Перед выводом результата, я полагаю.