从谷歌翻译中抓取 HTML

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

我想使用 Google Translator 翻译一个字符串。

我的示例字符串是"this is my string".

我想使用 HTML Agility Pack 来解析 HTML 文档。

我试过这个:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

但我没有得到任何结果。

我的目标是使用 Google Translate 翻译一个完整的字符串,并在 Windows Forms 的标签中显示翻译后的字符串。

我怎样才能做到这一点?

小智 6

这是一个坏主意。正如评论者指出的那样,谷歌提供了一个编程接口作为付费服务。谷歌肯定有安全功能来试图阻止你正在做的事情,这就是它不起作用的原因。也许你可以以某种方式让它工作,但即便如此,你也总是面临谷歌提高安全性和你的脚本再次被阻止的危险。此外,您几乎肯定会违反 Google 的使用条款。

2017 年更新: Microsoft Translator API现在支持孟加拉语,每月最多可免费使用 200 万个字符。