Запрос на перевод в translate.google.ru - C#

Узнай цену своей работы

Формулировка задачи:

Делаю запрос на перевод слов в гугл переводчик.
string met = "http://translate.google.ru/?sl=" + SL + "&tl=" + DL + "&q=" + word;
var request = (HttpWebRequest)WebRequest.Create(zapros);
// далее действия с куки и т.п.
//затем достаю
HtmlNodeCollection translateNode = doc.DocumentNode.SelectNodes("//span[@id='result_box']");
result = string.Join("\n", translateNode.Select(t => t.InnerText)) ?? "*";
Но мой result возвращает данные в одну строку... Т.е. у меня список из 125+ тысяч слов, я хочу запрашивать как-то так:
word = "Слово1" + "\n" + "Слово2" + "\n" + "Слово3" + "\n" + "Слово4" + "\n" + "Слово5" + "\n" + "Слово6";
Но мне вернется вариант
"перевод1_1 перевод1_2 перевод2 перевод 3_1 перевод3_2 перевод4 перевод5"
Всё бы нечего, но т.к. у слова может вернуть не 1, а 2 варианта, то извлечь и склеить списки не получается.

Как правильно сформировать строку запроса word?

Можно и по 1му слову запрашивать, но как это сделать быстро, чтобы не ждать 125т переводов почти сутки?

Решение задачи: «Запрос на перевод в translate.google.ru»

textual
Листинг программы
                    geter += ru[i] + "\n";
                    i++;
                    if (i != 0 && i % 25 == 0)
                    {
                        string result = p.translate(geter, "ru", "en");
                        geter = "";
                        doc.LoadHtml(result);
                        HtmlNodeCollection translateNode =
                            doc.DocumentNode.SelectNodes(@"//span[@id=""result_box""]");
 
                        result = string.Join("\n", translateNode.Select(t =>
                        string.Join("\n", t.SelectNodes(@"//span[@onmouseover]").Select(s => s.InnerText))));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.3 из 5
Похожие ответы