参考自: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()