在命令列用使用有道翻譯,python寫一個命令列有道詞典
平常都是用終端敲, 有時候不會的詞語也懶得開啟詞典了,乾脆搞了個簡單的查詞命令.思路也很簡單,直接呼叫有道的api,解析下返回的json就ok了。只用到了python原生的庫,支援python2和python3.
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# API key:273646050
# keyfrom:11pegasus11
import json
import sys
try: # py3
from urllib.parse import urlparse, quote, urlencode, unquote
from urllib.request import urlopen
except: # py2
from urllib import urlencode, quote, unquote
from urllib2 import urlopen
def fetch(query_str=''):
query_str = query_str.strip("'").strip('"').strip()
if not query_str:
query_str = 'python'
print(query_str)
query = {
'q': query_str
}
url = 'http://fanyi.youdao.com/openapi.do?keyfrom=11pegasus11&key=273646050&type=data&doctype=json&version=1.1&' + urlencode(query)
response = urlopen(url, timeout=3)
html = response.read().decode('utf-8')
return html
def parse(html):
d = json.loads(html)
try:
if d.get('errorCode') == 0:
explains = d.get('basic').get('explains')
for i in explains:
print(i)
else:
print('無法翻譯')
except:
print('翻譯出錯,請輸入合法單詞')
def main():
try:
s = sys.argv[1]
except IndexError:
s = 'python'
parse(fetch(s))
if __name__ == '__main__':
main()
使用
- 將上面程式碼貼上後命名為youdao.py
- 修改名稱
mv youdao.py youdao
, 然後加上可執行許可權chmod a+x youdao
- 拷貝到/usr/local/bin。
cp youdao /usr/local/bin
使用的時候把要翻譯的單詞作為第一個命令列引數,要是句子用引號括起來。
原文連結:http://ningning.today/2015/12/02/python/%E7%94%A8python%E5%86%99%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%9C%89%E9%81%93%E8%AF%8D%E5%85%B8/
相關文章
- python3:爬有道翻譯(命令列版)Python命令列
- 有道詞典命令列查詢工具(Mac/Ubuntu)命令列MacUbuntu
- 有道雲詞典--翻譯/螢幕取詞翻譯
- 教你用Python爬蟲自制有道翻譯詞典Python爬蟲
- HBuilder開發詞典app(四)--呼叫有道api完成翻譯功能UIAPPAPI
- 怎麼在windows10安裝有道詞典_有道詞典在win10下如何安裝WindowsWin10
- Angular 5 開發一個有道翻譯Angular
- 有道詞典Flutter架構與應用Flutter架構
- 爬取有道翻譯
- 爬蟲-有道翻譯爬蟲
- 免費全能查詞翻譯軟體網易有道詞典Mac官方免fei版Mac
- Java 英語單詞本 (基於有道翻譯)Java
- 破解有道JS引數,教你用python自制一個翻譯軟體!JSPython
- 微軟與網易有道詞典達成合作 無國界助力語言翻譯微軟
- Python爬取有道詞典,有道的反爬很難嗎?也就這樣啊!Python
- 【Python】Python利用有道翻譯開發API應用示例PythonAPI
- 用 nodejs 寫一個命令列工具 :建立 react 元件的命令列工具NodeJS命令列React元件
- 爬蟲—有道翻譯案例分析爬蟲
- PHP微信開發--有道翻譯PHP
- 【Golang小工具】gdict--go語言封裝的命令列有道詞典Golang封裝命令列
- 20行Python程式碼擼一個命令列英語翻譯工具Python命令列
- 用nodejs寫一個命令列應用-前言NodeJS命令列
- 全新升級!有道詞典筆與有道詞典App打通 軟硬一體助力更互動式學習體驗APP
- 使用Android簡單實現有道電子詞典Android
- 有道翻譯軟體下載地址
- 使用Urllib2製作有道翻譯器
- IDEA Translation外掛中有道智雲(有道翻譯)應用ID,金鑰申請教程Idea
- python:爬蟲1——實戰(下載一張圖片、用Python模擬瀏覽器,通過線上的有道詞典來對文字翻譯)...Python爬蟲瀏覽器
- 從0開始用python寫一個命令列小遊戲(十)Python命令列遊戲
- 從0開始用python寫一個命令列小遊戲(二)Python命令列遊戲
- 從0開始用python寫一個命令列小遊戲(六)Python命令列遊戲
- 「譯」使用 Node 構建命令列應用命令列
- [譯] 如何使用 Node.js 構建一個命令列應用(CLI)Node.js命令列
- 在命令列下使用vs的編譯器命令列編譯
- 用 PHP 寫一個命令列音樂下載器PHP命令列
- 翻譯計劃 – 用 node.js 開發一個可互動的命令列應用Node.js命令列
- 翻譯計劃 - 用 node.js 開發一個可互動的命令列應用Node.js命令列
- 人民教育電子音像出版社和網易有道合作 重磅釋出人教有道詞典筆