Scraping HTML da Google Translate

.net c# google-translate html-agility-pack winforms

Domanda

Voglio tradurre una stringa utilizzando Google Translator.

La mia stringa di esempio è "this is my string" .

Voglio usare HTML Agility Pack per analizzare documenti HTML.

Ho provato questo:

using HtmlAgilityPack; 

........

var webGet = new HtmlWeb();
var document = webGet.Load(
    "http://translate.google.com/#en/bn/this%20is%20my%20string");

var node = document.DocumentNode.SelectNodes(
    "//span[@class='short_text' and @id='result_box']");

if (node != null)
{
    foreach (var xx in node)
    {
        x = xx.InnerText;
        MessageBox.Show(x);
    }
}

Ma non ottengo risultati.

Il mio obiettivo è tradurre una stringa completa utilizzando Google Traduttore e mostrare la stringa tradotta in un'etichetta in Windows Form.

Come posso fare questo?

Risposta popolare

Questa è una cattiva idea. Come hanno sottolineato i commentatori, Google offre un'interfaccia programmatica come servizio a pagamento. Google ha sicuramente funzioni di sicurezza per cercare di bloccare esattamente quello che stai facendo, ed è per questo che non funziona. Forse potresti farlo funzionare in qualche modo, ma anche in questo caso rischieresti sempre che Google migliorasse la sua sicurezza e che il tuo script venisse nuovamente bloccato. Inoltre, stai quasi certamente rompere i termini di utilizzo di Google.

Aggiornamento 2017: Microsoft Translator API ora supporta Bengali ed è gratuito per un massimo di due milioni di caratteri al mese.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché