python在命令行下使用google翻譯(帶語(yǔ)音)
說(shuō)明
1. 使用google翻譯服務(wù)獲得翻譯和語(yǔ)音;
2. 使用mplayer播放獲得的聲音文件,因此,如果要播放語(yǔ)音,請(qǐng)確保PATH中能夠找到mplayer程序,如果沒有mplayer,請(qǐng)將use_tts設(shè)置為False運(yùn)行。即:
main(use_tts=False)
3. 退出程序,輸入"x",回車。
#! /usr/bin/env python
#coding=utf-8
import requests
def translate(words):
import re
url = ("http://translate.google.cn/translate_a/t?"
"client=t&hl=zh-CN&sl=en&tl=zh-CN&ie=UTF-8&oe=UTF-8&oc=1&otf=2&ssel=3&tsel=0&sc=1&q=%s")
ret = requests.get(url % words)
if ret.status_code == 200:
RULE_TRANSLATE = re.compile('''([^\[\]]+?)\]\]''')
match = RULE_TRANSLATE.search(ret.text)
t, o, s, _ = match.group(1).split(u",")
print u"譯文:", t[1:-1]
print u"發(fā)音:", s[1:-1]
print ""
else:
raise Exception("Google翻譯服務(wù)狀態(tài)碼異常。")
def tts(words):
import subprocess
url = "http://translate.google.cn/translate_tts?ie=UTF-8&q=%s&tl=en&total=1&idx=0&textlen=4&prev=input"
ret = requests.get(url % words)
if ret.status_code == 200:
ext = ret.headers["content-type"].split("/")[1]
filename = "tts.%s" % ext
with open(filename, "wb") as f:
f.write(ret.content)
# 不顯示mplayer的輸出
log_file = "./mplayer.log"
with open(log_file, "w") as f:
subprocess.call(["mplayer", filename], stdout=f, stderr=f)
else:
raise Exception("Google TTS服務(wù)狀態(tài)碼異常。")
def main(use_tts=True):
while 1:
#在window下raw_input不能直接提示中文,需要u"中文".encode("gbk")
#為了與平臺(tái)無(wú)關(guān),這里直接提示"English:"
words = raw_input("English:")
if words == "x":
break
if use_tts:
tts(words)
translate(words)
if __name__ == "__main__":
main(use_tts=True)
- python利用google翻譯方法實(shí)例(翻譯字幕文件)
- Python 實(shí)現(xiàn)的 Google 批量翻譯功能
- 淺談python實(shí)現(xiàn)Google翻譯PDF,解決換行的問題
- python3使用urllib示例取googletranslate(谷歌翻譯)
- python翻譯軟件實(shí)現(xiàn)代碼(使用google api完成)
- Python爬蟲爬取有道實(shí)現(xiàn)翻譯功能
- python 簡(jiǎn)單的調(diào)用有道翻譯
- python 爬蟲如何實(shí)現(xiàn)百度翻譯
- python 實(shí)現(xiàn)批量圖片識(shí)別并翻譯
- python用tkinter實(shí)現(xiàn)一個(gè)gui的翻譯工具
- python調(diào)用有道智云API實(shí)現(xiàn)文件批量翻譯
- python開發(fā)一款翻譯工具
- python 調(diào)用Google翻譯接口的方法
相關(guān)文章
python新手學(xué)習(xí)可變和不可變對(duì)象
在本篇文章里小編給大家分享了是一篇關(guān)于python可變對(duì)象和不可變對(duì)象的基礎(chǔ)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以參考下。2020-06-06pandas中遍歷dataframe的每一個(gè)元素的實(shí)現(xiàn)
這篇文章主要介紹了pandas中遍歷dataframe的每一個(gè)元素的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Python?獲取今天任意時(shí)刻的時(shí)間戳的方法
本文主要介紹了Python?獲取今天任意時(shí)刻的時(shí)間戳的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>2022-06-06淺談python中統(tǒng)計(jì)計(jì)數(shù)的幾種方法和Counter詳解
今天小編就為大家分享一篇淺談python中統(tǒng)計(jì)計(jì)數(shù)的幾種方法和Counter詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-11-11python使用XPath解析數(shù)據(jù)爬取起點(diǎn)小說(shuō)網(wǎng)數(shù)據(jù)
這篇文章主要介紹了python使用XPath解析數(shù)據(jù)爬取起點(diǎn)小說(shuō)網(wǎng)數(shù)據(jù),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04