使用谷歌翻译 三种方式




1,谷歌官方发布 rest api
http://code.google.com/intl/zh-CN/apis/language/translate/v2/getting_started.html
使用rest
GET https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&q=Hello%20world

缺陷是 有一定的字节大小限制
【he URL for the GET, including parameters, must be less than 2K characters.

Note: You can also use POST to invoke the API if you want to send more data in a single request. The q parameter in the POST body must be less than 5K characters. To use POST, you must use the X-HTTP-Method-Override header to tell the Translate API to treat the request as a GET (use X-HTTP-Method-Override: GET)】
对于纯文本的 内容 可以截取分段翻译 对于html则可能截断标签 显示错误 当然可以写算法来避免 。
2.[url]
http://code.google.com/p/google-api-translate-java/[/url]
封装的一个
import com.google.api.translate.Language;
import com.google.api.translate.Translate;

public class Main {
  public static void main(String[] args) throws Exception {
    // Set the HTTP referrer to your website address.
    Translate.setHttpReferrer(/* Enter the URL of your site here */);

    String translatedText = Translate.execute("Bonjour le monde",
            Language.FRENCH, Language.ENGLISH);

    System.out.println(translatedText);
  }
}

3,自己模拟浏览器自己封装 优点是可以使用google没有公开的api
http://translate.google.com.hk/translate?hl=zh-CN&ie=UTF-8&sl=en&tl=zh-CN&u=http://www.baidu.com/&prev=_t[align=center][/align]
缺点是谷歌防止爬取利用 进行的一些跳转加密 自己做的就是解密的过程
在此只是根据当时我们需要 只做了一个对网站url翻译的过程 且只针对以上网站
对应的url有三次变化
http://translate.google.com.hk/translate?hl=zh-CN&;
http://translate.google.com.hk/translate_p?hl=zh-CN&
http://translate.googleusercontent.com/translate_c?hl=zh-CN&
在这个过程中其中有个参数 usg有两次 变化
最后取得 翻译的内容
其中谷歌 比较霸道 url的传递顺序不同返回结果 不是你想要的结果
综合思路是 先用网页访问下 然后模拟着实验吧。


你可能感兴趣的:(算法,浏览器,Google,REST,IE)