Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2013, 21:52   #1
Artkuznya
 
Регистрация: 25.09.2011
Сообщений: 3
Вопрос Парсинг гугл-переводчика: simple HTML DOM и/или cURL?

Привет всем сторожилам и просто забредшим форумчанам.
собственно хочу реализовать такую вещь: в форму кидается кусок текста к примеру на инглише, затем этот текст скриптом передаётся в гугл транслейт и переводится, а на выходе даёт переведённый текст.

Перепробовал и убил кучу времени на то чтоб разгадать как же нужно сделать чтоб всё получилось, в итоге изучил 2 библиотеки cURL и simple HTML DOM которые ответственные за парсинг HTML, но безрезультатно, скриптом не посылается фраза или слово, просто выводится страница google.транслита

прикладываю код:
файл main.html

Код HTML:
<head>
 
</head>
<html>
<body>
<div style="text-align: center;">
<h1 style="text-align: center;">Заголовок</h1>
 
<form method=POST action='reg.php'>
    <input style="width: 400px; height: 500px; align: center;" type='text' name='tekst'><br />
    <input type='submit' value="Good">
 
</form>
 
</div>
</body>
 
</html>
файл reg.php

PHP код:
$a $_POST["tekst"];
$url 'http://translate.google.ru/?hl=ru&tab=wT#en/ru/';
$agent 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)';
 
 
$ch curl_init(); //инициализация библиотеки
//указываем адрес страницы
curl_setopt($chCURLOPT_URL, [B]$url.$a[/B]);
//указываем заголовок User-Agent
curl_setopt($chCURLOPT_USERAGENT$agent);
//указываем, что полученная страница должна быть сохранена в переменную
curl_setopt($chCURLOPT_RETURNTRANSFER1);
//указываем, что cURL должен переходить по редиректам
curl_setopt($chCURLOPT_FOLLOWLOCATION1); 
 
//выполняем запрос - загрузка страницы
$page curl_exec($ch); 
 
echo 
$page
реализация через simple HTML DOM

PHP код:
$url 'http://translate.google.ru/?hl=ru&tab=wT#en/ru/';
 
include(
'simple_html_dom.php');
 
 
$html = new simple_html_dom();
 
 
$html file_get_html($url);
 
$div $html->find('#result_box div.short_text');
 
 
echo 
$div->plaintext;
 
echo 
$div->save();
$html->clear();
unset(
$html); 
по всей видимости я так понимаю не успевает пройти кэширование и загрузиться страница с результатом и выводиться просто стандартная страница с гугл переводчиком.

Надеюсь получить хоть какую-нибудь наводочку(желательно чем проще тем лучше, начинающий)
Artkuznya вне форума Ответить с цитированием
Старый 03.07.2013, 22:38   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Почему бы не обратиться напрямую:
http://translate.google.ru/translate_a/t?client=t&uptl=ru&q=hello
Переведет слово hello
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 03.07.2013 в 22:42.
BDA на форуме Ответить с цитированием
Старый 19.07.2013, 12:54   #3
xen
Пользователь
 
Регистрация: 13.03.2007
Сообщений: 45
По умолчанию

Цитата:
Сообщение от Artkuznya Посмотреть сообщение
Привет всем сторожилам и просто забредшим форумчанам.
собственно хочу реализовать такую вещь: в форму кидается кусок текста к примеру на инглише, затем этот текст скриптом передаётся в гугл транслейт и переводится, а на выходе даёт переведённый текст.

Перепробовал и убил кучу времени на то чтоб разгадать как же нужно сделать чтоб всё получилось, в итоге изучил 2 библиотеки cURL и simple HTML DOM которые ответственные за парсинг HTML, но безрезультатно, скриптом не посылается фраза или слово, просто выводится страница google.транслита

прикладываю код:
файл main.html

Код HTML:
<head>
 
</head>
<html>
<body>
<div style="text-align: center;">
<h1 style="text-align: center;">Заголовок</h1>
 
<form method=POST action='reg.php'>
    <input style="width: 400px; height: 500px; align: center;" type='text' name='tekst'><br />
    <input type='submit' value="Good">
 
</form>
 
</div>
</body>
 
</html>
файл reg.php

PHP код:
$a $_POST["tekst"];
$url 'http://translate.google.ru/?hl=ru&tab=wT#en/ru/';
$agent 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)';
 
 
$ch curl_init(); //инициализация библиотеки
//указываем адрес страницы
curl_setopt($chCURLOPT_URL, [B]$url.$a[/B]);
//указываем заголовок User-Agent
curl_setopt($chCURLOPT_USERAGENT$agent);
//указываем, что полученная страница должна быть сохранена в переменную
curl_setopt($chCURLOPT_RETURNTRANSFER1);
//указываем, что cURL должен переходить по редиректам
curl_setopt($chCURLOPT_FOLLOWLOCATION1); 
 
//выполняем запрос - загрузка страницы
$page curl_exec($ch); 
 
echo 
$page
реализация через simple HTML DOM

PHP код:
$url 'http://translate.google.ru/?hl=ru&tab=wT#en/ru/';
 
include(
'simple_html_dom.php');
 
 
$html = new simple_html_dom();
 
 
$html file_get_html($url);
 
$div $html->find('#result_box div.short_text');
 
 
echo 
$div->plaintext;
 
echo 
$div->save();
$html->clear();
unset(
$html); 
по всей видимости я так понимаю не успевает пройти кэширование и загрузиться страница с результатом и выводиться просто стандартная страница с гугл переводчиком.

Надеюсь получить хоть какую-нибудь наводочку(желательно чем проще тем лучше, начинающий)
$html = new simple_html_dom();
$html = file_get_html($url);
Не далай так, пожалуйста
xen вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DOM HTML создание таблиц net_ofg JavaScript, Ajax 0 07.06.2013 16:04
HTML - DOM exn Работа с сетью в Delphi 1 17.02.2013 11:23
Парсинг ч/з cURL, работа с печеньками... DEMOgoT PHP 1 24.09.2011 21:34
HTML DOM Лубышев Работа с сетью в Delphi 8 02.09.2011 00:06
Парсинг с помощью DOM akum Общие вопросы Delphi 5 25.08.2009 19:19