Gratter du HTML à partir de Google Translate

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

Question

Je souhaite traduire une chaîne à l'aide de Google Translator.

Mon exemple de chaîne est "this is my string" .

Je souhaite utiliser HTML Agility Pack pour analyser des documents HTML.

J'ai essayé ceci:

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);
    }
}

Mais je n'obtiens aucun résultat.

Mon objectif est de traduire une chaîne complète à l'aide de Google Translate et d'afficher la chaîne traduite dans une étiquette dans Windows Forms.

Comment puis-je faire ceci?

Réponse populaire

C'est une mauvaise idée. Comme les commentateurs l'ont souligné, Google propose une interface de programmation sous forme de service payant. Google a sûrement des fonctionnalités de sécurité en place pour tenter de bloquer exactement ce que vous faites, et c'est pourquoi cela ne fonctionne pas. Peut-être que vous pourriez le faire fonctionner d'une manière ou d'une autre, mais même dans ce cas, vous risqueriez toujours que Google améliore sa sécurité et que votre script soit de nouveau bloqué. En outre, vous enfreignez certainement les conditions d'utilisation de Google.

Mise à jour 2017: L' API de Microsoft Translator prend désormais en charge le bengali et est gratuite pour un maximum de deux millions de caractères par mois.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi