Есть переводчик Google
Я при помощи curl иду на страницу с таким адресом и данными
http://translate.google.ru/?tab=wT#en|ru|for
en - с какого языка переводим
ru - на какой
for - что переводим
Поле в котором пишется перевод создается после загрузки страницы javascpt -ом
Можно ли получить при помощи curl текст который уже потом догружается javascpt -ом?
Спустя 53 секунды (2.11.2011 - 14:12) Winston написал(а):
Покажи то, что уже написал.
Спустя 1 минута, 37 секунд (2.11.2011 - 14:14) Adil написал(а):
Спустя 58 секунд (2.11.2011 - 14:15) Ser18 написал(а):
$slovo = trim($_POST['slovo']);
if($slovo){
if( $curl = curl_init() ){
// Задаем ссылку
curl_setopt($curl,CURLOPT_URL,'http://translate.google.ru/?tab=wT#en|ru|'.$slovo.'');
// Скачанные данные не выводить поток
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
// Скачиваем
$text = curl_exec($curl);
preg_match_all('#<span class="hps">(.*?)</span>#Uis', $text, $out, PREG_PATTERN_ORDER);
// Закрываем соединение
curl_close($curl);
$res = $out[0][0];
}
}
echo $slovo.' - '.$res;
Спустя 2 минуты, 38 секунд (2.11.2011 - 14:17) Ser18 написал(а):
Цитата (Adil @ 2.11.2011 - 14:14) |
Google Translate API v2 |
Еще бы английский знать
Спустя 3 часа, 17 минут, 4 секунды (2.11.2011 - 17:34) walerus написал(а):
$word = 'Hello'; // Слово для перевода
$hl = 'ru'; // НА какой язык переводим
$sl = 'en'; // C какого языка переводим
$url_query = 'http://translate.google.ru/translate_a/t?client=t&text='.$word.'&hl='.$hl.'&sl='.$sl;
вот это курлу скорми, и получишь тучу слов в ответ, во всех склонениях вариантах, ну в общем то что отдает переводчик.
Спустя 49 минут, 25 секунд (2.11.2011 - 18:24) Ser18 написал(а):
Спасибо
Спустя 13 минут, 23 секунды (2.11.2011 - 18:37) Ser18 написал(а):
Правда у меня еще вопрос
В какой кодировке он данные отдает?
В какой кодировке он данные отдает?
Спустя 4 минуты, 31 секунда (2.11.2011 - 18:42) walerus написал(а):
text/html; charset=utf-8
Спустя 3 минуты, 52 секунды (2.11.2011 - 18:46) Ser18 написал(а):
Если я пишу такой заголовок
header('Content-Type: text/html; charset=utf-8');
то он мне краказябры выдает
header('Content-Type: text/html; charset=utf-8');
то он мне краказябры выдает
Спустя 3 минуты, 30 секунд (2.11.2011 - 18:49) walerus написал(а):
А сам файл скрипта в какой кодировке ? должен быть UTF-8 без БОМ
Спустя 6 минут, 8 секунд (2.11.2011 - 18:55) Ser18 написал(а):
header('Content-Type: text/html; charset=utf-8');
$slovo = trim($_POST['slovo']);
if($slovo){
if( $curl = curl_init() ){
$hl = 'ru'; // НА какой язык переводим
$sl = 'en'; // C какого языка переводим
// Задаем ссылку
$url_query = 'http://translate.google.ru/translate_a/t?client=t&text='.$slovo.'&hl='.$hl.'&sl='.$sl;
curl_setopt($curl,CURLOPT_URL, $url_query);
// Скачанные данные не выводить поток
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
// Скачиваем
$text = curl_exec($curl);
// Закрываем соединение
curl_close($curl);
}
}
echo $text;
без БОМ
Спустя 4 минуты, 25 секунд (2.11.2011 - 19:00) Ser18 написал(а):
А если не выставлять кодировку, то все нормально
Но я потом этот результат ajax -ом забираю, а там уже как не крути краказябры получаются
Но я потом этот результат ajax -ом забираю, а там уже как не крути краказябры получаются
Спустя 1 минута, 2 секунды (2.11.2011 - 19:01) Winston написал(а):
Они в windows-1251 возвращают данные.
Спустя 13 минут, 38 секунд (2.11.2011 - 19:14) walerus написал(а):
Ser18 и? - не работает ? вот сюда
Результат:
$_POST['slovo']что приходит ? из какого файла ?...
<?php
header('Content-Type: text/html; charset=utf-8');
$slovo = 'Hello People';
if($slovo){
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$hl = 'ru'; // НА какой язык переводим
$sl = 'en'; // C какого языка переводим
// Задаем ссылку
$url_query = 'http://translate.google.ru/translate_a/t?client=t&text='.urlencode($slovo).'&hl='.$hl.'&sl='.$sl;
curl_setopt($curl, CURLOPT_REFERER, 'http://google.com');
curl_setopt($curl,CURLOPT_URL, $url_query);
// Скачиваем
$text = curl_exec($curl);
// Закрываем соединение
curl_close($curl);
}
echo $text;
Результат:
[[["Привет Люди","Hello People","Privet Lyudi",""]],,"en",,[["Привет",[5],1,0,586,0,1,0],["Люди",[6],1,0,391,1,2,0]],[["Hello",5,[["Привет",586,1,0],
["Здравствуйте",359,1,0],["Здравствуй",0,1,0],["привета",0,1,0],["Привете",0,1,0]],[[0,5]],"Hello People"],["People",6,[["Люди",391,1,0],["Людой",0,1,0],
["Люде",0,1,0],["Люда",0,1,0],["людей",0,1,0]],[[6,12]],""]],,,[["en"]],34]
Спустя 17 минут, 39 секунд (2.11.2011 - 19:32) Ser18 написал(а):
Посылается ajax -ом
Так все нормально
Спасибо вам еще раз
$_POST['slovo']
Так все нормально
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
Спасибо вам еще раз