Форум сайта python.su
Есть простейший код:
result_text = result_text.replace("<", "<")
Офлайн
по указанной вами строке что-то конкретное сказать сложно. возможно ответу от сервера необходимо делать read()
Офлайн
С ответом сервера нет проблем. Все нормально,я получаю с него текстовые данные методом read, складываю их в строковую переменную. Вывожу на экран и там куча < и других псевдокодов,мне их надо конвертировать непосредственно в символы. Так они не конвертируются через replace.
def Translate(text):
# Настраиваем соединение
url = "http://translate.google.ru/"
headers = { "User-Agent" : 'Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.17) Gecko/2010010604 Ubuntu/8.04 (hardy) Firefox/3.0.17',
"Accept-Charset" : "utf-8;",
"Referer" : "http://translate.google.ru/",
"Cookie" : "PREF=ID=5b088d76f1cac0a5:U=d7775a28a3dfce07:NW=1:TM=1259370821:LM=1259371193:S=verfYFaVMF6ZuDws; NID=29=e1qWIgspNh_B6dkX6A6-lntGkQ91b2O9FVtQ_l7Wl7PFuRYiQzV017m9vjd_RkDSdsXp_b7ewtolae1O8LPh7wrGuAJ0j-DO4SqmXkBTDJIn04h7mgdtQ4M4zyIdXbQ8; SID=DQAAAIgAAAA-EjLPzrQtenJEEVxcIWCg0OZbRnjljsBH3mz0q7UyT7M9bMolhicIABBaQYi5P8G3MOux77kVc74VmmPimkpilbBlQr9It_G8zOtXT542HDkSngAxUbvjtcxImY1KR8Cydb_MALID04XQWEAvtAKbT0gz7NJTtzATors2CRHJlzuJf3gvzR0yk3R3DyHxkBI; HSID=AObaT9Ng4RIvykdQM"
}
post_str = "js=y&prev=_t&hl=ru&ie=UTF-8&layout=1&eotf=1&" + urllib.urlencode({'text' : text}) + "&file=&sl=ru&tl=uk"
# Отправляем запрос
req = urllib2.Request(url, post_str, headers)
resp = urllib2.urlopen(req)
page = ""
try:
page = resp.read()
except:
return ""
# Вытаскиваем текст перевода
text_list = re.findall(r'<textarea name=utrans wrap=SOFT dir="ltr" id=suggestion style="width:80%;margin:5px 0;overflow:auto">(.+?)</textarea>', page)
result_text = ""
for line in text_list:
result_text += line + "\n\n"
return result_text
def Del_Spec_Chars(text):
result_text = text
result_text = result_text.replace("<", "<")
result_text = result_text.replace(">", ">")
result_text = result_text.replace(""", "\"")
result_text = result_text.replace(" ", " ")
result_text = result_text.replace("&", "&")
result_text = result_text.replace("<br>", "\n")
result_text = result_text.replace("'", r"'")
return result_text
Отредактировано (Июль 11, 2010 12:27:09)
Офлайн
Вопрос снят.
Проблема была в том что амперсанд (&) на сервере дважды переводится в спецсимвол %) как-то так.
Офлайн
Psixoкак то так, но сам перевод храниться в другом теге, хотя раньше нормально хранился и в texarea
Вопрос снят.
Проблема была в том что амперсанд (&) на сервере дважды переводится в спецсимвол %) как-то так.
Офлайн