专栏首页python3python 调用Google Tran

python 调用Google Tran

调用Google 翻译API进行翻译

#!/usr/bin/python
#coding: UTF-8
import sys  
reload(sys)  
sys.setdefaultencoding('utf8')   

from xml.etree import ElementTree as ET  #引入解析xml文件的模块
import re  
import urllib,urllib2  #引入接入网络接口API的模块

from socket import error as SocketError
import errno
import os
import string


#调用google translator API,进行翻译
def translate(text, f, t):  
      
    '''''模拟浏览器的行为,向Google Translate的主页发送数据,然后抓取翻译结果 '''  
      
    #text 输入要翻译的英文句子  
    text_1=text  
    #'langpair':'en'|'zh-CN'从英语到简体中文
    values = {'hl':'zh-CN','ie':'UTF-8','text':text,'langpair':"%s|%s"%(f, t)}     
    #values={'hl':'zh-CN','ie':'UTF-8','text':text_1,'langpair':"'en'|'zh-CN'"}  
    #values={'hl':'en','ie':'UTF-8','text':text_1,'langpair':"'zh'|'en'"} 
    url='http://translate.google.cn'  #这个地址至关重要,写错了没有输出。网上好多 url = 'http://translate.google.cn/translate_t',行不通
    data = urllib.urlencode(values) 

    req = urllib2.Request(url,data)
  
    #模拟一个浏览器  
    browser='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)'  
    req.add_header('User-Agent',browser)  
  
    #向谷歌翻译发送请求  
    response = urllib2.urlopen(req) 
    #读取返回页面  
    html=response.read()  
    #print(html)
    #从返回页面中过滤出翻译后的文本  
    #使用正则表达式匹配  
    #翻译后的文本是'TRANSLATED_TEXT='等号后面的内容  
    #.*? non-greedy or minimal fashion  
    #(?<=...)Matches if the current position in the string is preceded  
    #by a match for ... that ends at the current position  
    p=re.compile(r"(?<=TRANSLATED_TEXT=).*?;")  
    m=p.search(html)  
    #print m
    text_2=m.group(0).strip(';')  
    return text_2  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 初学Python,tkinter计算器代

    py3study
  • python3 cookbook

    使用deque(maxlen=N)构造函数会新建一个固定大小的队列.当新的元素加入并且这个队列已满的时候,最老的元素会被移除掉.在队列两端插入或者删除元素时间复...

    py3study
  • MorningDiary(Python版

    大改动,但是功能方面没有增加,反而去掉了一个:7个习惯,感觉那个都没有什么用,好好想想,再看看要不要。

    py3study
  • Android端IM应用中的@人功能实现:仿微博、QQ、微信,零入侵、高可扩展

    最近有个需求:评论@人(没错,就是IM聊天或者微博APP里的@人功能),就像下图这样:

    JackJiang
  • strlen的另一种实现,可以作为ShellCode

    在实际工作中会遇到很多strlen. 这里针对strlen函数做一下代码还原. 并且讲解其原理

    IBinary
  • golang slice N选3 组合

    package main import( "fmt" ) func main(){ var a = []int32{1,2,3,...

    李海彬
  • 铁人三项2018 pwn [aleph1] Writeup

    本文内容比较多,建议点击https://blog.formsec.cn/2018/06/11/%E9%93%81%E4%BA%BA%E4%B8%89%E9%A1...

    xfkxfk
  • B端产品设计规范=好的产品

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    用户1212940
  • 使用Xenon实现MySQL高可用集群

    1、Xenon 介绍2、架构环境说明3、MySQL 安装准备3.1、MySQL 主从复制搭建3.2、MySQL 半同步复制配置3.3、系统配置3.4、配置 ho...

    老叶茶馆
  • 使用sqltools让sublime text成为数据库的客户端

    章鱼喵

扫码关注云+社区

领取腾讯云代金券