您的位置:首页 > 编程语言 > Python开发

Python Google Translate API

2017-04-04 23:08 435 查看
参考自:http://www.icourse163.org/learn/BIT-1001870001?tid=1001962001#/learn/forumdetail?pid=1003366321

import requests
from bs4 import BeautifulSoup

def getHTMLText(url):
try:
r = requests.get(url, timeout=30)
r.raise_for_status()
return r.text
except:
print("Get HTML Text Failed!")
return 0

def google_translate_EtoC(to_translate, from_language="en", to_language="ch-CN"):
#根据参数生产提交的网址
base_url = "https://translate.google.cn/m?hl={}&sl={}&ie=UTF-8&q={}"
url = base_url.format(to_language, from_language, to_translate)

#获取网页
html = getHTMLText(url)
if html:
soup = BeautifulSoup(html, "html.parser")

#解析网页得到翻译结果
try:
result = soup.find_all("div", {"class":"t0"})[0].text
except:
print("Translation Failed!")
result = ""

return result

def google_translate_CtoE(to_translate, from_language="ch-CN", to_language="en"):
#根据参数生产提交的网址
base_url = "https://translate.google.cn/m?hl={}&sl={}&ie=UTF-8&q={}"
url = base_url.format(to_language, from_language, to_translate)

#获取网页
html = getHTMLText(url)
if html:
soup = BeautifulSoup(html, "html.parser")

#解析网页得到翻译结果
try:
result = soup.find_all("div", {"class":"t0"})[0].text
except:
print("Translation Failed!")
result = ""

return result

def main():
while True:
inp = int(input("Chinese to Englisth is 1, English to Chinese is 2:    "))
if inp == 1:
words = input("请输入中文:    ")
print(google_translate_CtoE(words))
else:
words = input("Please input English:    ")
print(google_translate_EtoC(words))

main()


  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: